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

aledsage pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git

commit 748bfa0d8a22895749f8c7cfe3203f43a8dc7abe
Author: Paul Campbell <pcampb...@kemitix.net>
AuthorDate: Tue Oct 23 16:34:03 2018 +0100

    Load all jars to find upgrades for wrapped bundles
---
 .../core/catalog/internal/CatalogInitialization.java    | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
index f35e8a9..18e1f27 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
@@ -29,6 +29,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.brooklyn.api.catalog.BrooklynCatalog;
 import org.apache.brooklyn.api.catalog.CatalogItem;
@@ -617,6 +618,7 @@ public class CatalogInitialization implements 
ManagementContextInjectable {
         
         CatalogUpgrades.Builder catalogUpgradesBuilder = 
CatalogUpgrades.builder();
         Collection<ManagedBundle> managedBundles = 
osgiManager.get().getManagedBundles().values();
+        final Stopwatch started = Stopwatch.createStarted();
         for (ManagedBundle managedBundle : managedBundles) {
             Maybe<Bundle> bundle = osgiManager.get().findBundle(managedBundle);
             if (bundle.isPresent()) {
@@ -629,6 +631,21 @@ public class CatalogInitialization implements 
ManagementContextInjectable {
                         + "ignoring when calculating persisted state catalog 
upgrades");
             }
         }
+        started.stop();
+        log.info("Loaded managed bundles in " + 
started.elapsed(TimeUnit.MILLISECONDS) + "ms");
+
+        final Stopwatch allbundleStopWatch = Stopwatch.createStarted();
+        for (Bundle bundle : 
osgiManager.get().getFramework().getBundleContext().getBundles()) {
+            final RegisteredTypesSupplier typeSupplier =
+                    new RegisteredTypesSupplier(managementContext,
+                            
RegisteredTypePredicates.containingBundle(bundle.getSymbolicName()));
+            final CatalogUpgrades catalogUpgrades =
+                    
BundleUpgradeParser.parseBundleManifestForCatalogUpgrades(bundle, typeSupplier);
+            catalogUpgradesBuilder.addAll(catalogUpgrades);
+        }
+        allbundleStopWatch.stop();
+        log.info("Loaded all bundles in " + 
allbundleStopWatch.elapsed(TimeUnit.MILLISECONDS) + "ms");
+
         return catalogUpgradesBuilder.build();
     }
 

Reply via email to