You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2019/01/16 16:40:28 UTC

[brooklyn-server] 16/31: Load all jars to find upgrades for wrapped bundles

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 <pc...@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();
     }