You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2022/02/22 08:49:05 UTC

[unomi] 01/02: Attempt to fix issue with release:prepare locking Unomi startup.

This is an automated email from the ASF dual-hosted git repository.

shuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit d00f42672eab82940e4ce65fe8a1424fd04bce96
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Mon Feb 21 16:39:10 2022 +0100

    Attempt to fix issue with release:prepare locking Unomi startup.
---
 .../src/main/java/org/apache/unomi/lifecycle/BundleWatcher.java  | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/lifecycle-watcher/src/main/java/org/apache/unomi/lifecycle/BundleWatcher.java b/lifecycle-watcher/src/main/java/org/apache/unomi/lifecycle/BundleWatcher.java
index 98f058f..16e3edf 100644
--- a/lifecycle-watcher/src/main/java/org/apache/unomi/lifecycle/BundleWatcher.java
+++ b/lifecycle-watcher/src/main/java/org/apache/unomi/lifecycle/BundleWatcher.java
@@ -37,10 +37,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TimerTask;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
 /**
@@ -69,7 +66,7 @@ public class BundleWatcher implements SynchronousBundleListener, ServiceListener
     private Integer checkStartupStateRefreshInterval = 60;
 
     public void setRequiredBundles(Map<String, Boolean> requiredBundles) {
-        this.requiredBundles = requiredBundles;
+        this.requiredBundles = new ConcurrentHashMap<>(requiredBundles);
     }
 
     public void setCheckStartupStateRefreshInterval(Integer checkStartupStateRefreshInterval) {
@@ -133,6 +130,7 @@ public class BundleWatcher implements SynchronousBundleListener, ServiceListener
                 break;
             case BundleEvent.STARTED:
                 if (event.getBundle().getSymbolicName().startsWith("org.apache.unomi")) {
+                    logger.info("Bundle {} was started.", event.getBundle().getSymbolicName());
                     requiredBundles.put(event.getBundle().getSymbolicName(), true);
                     checkStartupComplete();
                 }
@@ -141,6 +139,7 @@ public class BundleWatcher implements SynchronousBundleListener, ServiceListener
                 break;
             case BundleEvent.STOPPED:
                 if (event.getBundle().getSymbolicName().startsWith("org.apache.unomi")) {
+                    logger.info("Bundle {} was stopped", event.getBundle().getSymbolicName());
                     requiredBundles.put(event.getBundle().getSymbolicName(), false);
                 }
                 break;