Repository: karaf
Updated Branches:
  refs/heads/karaf-3.0.x f5fecedf2 -> e8ece739f


[KARAF-2774] Watched bundles are restarted twice


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e8ece739
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e8ece739
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e8ece739

Branch: refs/heads/karaf-3.0.x
Commit: e8ece739f847bb0f26125a3f7f1672a6a35394a5
Parents: f5feced
Author: Guillaume Nodet <[email protected]>
Authored: Fri Feb 21 11:11:34 2014 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Fri Feb 21 19:40:59 2014 +0100

----------------------------------------------------------------------
 .../apache/karaf/bundle/core/internal/BundleWatcherImpl.java | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/e8ece739/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/BundleWatcherImpl.java
----------------------------------------------------------------------
diff --git 
a/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/BundleWatcherImpl.java
 
b/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/BundleWatcherImpl.java
index e62a04b..925e3ba 100644
--- 
a/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/BundleWatcherImpl.java
+++ 
b/bundle/core/src/main/java/org/apache/karaf/bundle/core/internal/BundleWatcherImpl.java
@@ -121,6 +121,13 @@ public class BundleWatcherImpl implements Runnable, 
BundleListener, BundleWatche
                 } catch (InterruptedException e) {
                     running.set(false);
                 }
+                for (Bundle bundle : updated) {
+                    try {
+                        bundle.start(Bundle.START_TRANSIENT);
+                    } catch (BundleException ex) {
+                        logger.warn("Error starting bundle", ex);
+                    }
+                }
             }
             try {
                 Thread.sleep(interval);
@@ -142,6 +149,7 @@ public class BundleWatcherImpl implements Runnable, 
BundleListener, BundleWatche
             try {
                 logger.info("[Watch] Updating watched bundle: " + 
bundle.getSymbolicName() + " ("
                             + bundle.getVersion() + ")");
+                bundle.stop(Bundle.STOP_TRANSIENT);
                 bundle.update(is);
                 updated.add(bundle);
             } finally {

Reply via email to