diff options
4 files changed, 13 insertions, 1 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/config/BundleLoader.java b/container-core/src/main/java/com/yahoo/container/core/config/BundleLoader.java index 18886d2e5a9..9115a51b486 100644 --- a/container-core/src/main/java/com/yahoo/container/core/config/BundleLoader.java +++ b/container-core/src/main/java/com/yahoo/container/core/config/BundleLoader.java @@ -174,6 +174,7 @@ public class BundleLoader { public synchronized Set<Bundle> use(List<FileReference> bundles) { Set<Bundle> bundlesToUninstall = retainOnly(bundles); osgi.allowDuplicateBundles(bundlesToUninstall); + log.info(() -> bundlesToUninstall.isEmpty() ? "Adding bundles to allowed duplicates: " + bundlesToUninstall : ""); install(bundles); startBundles(); diff --git a/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java b/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java index 5fa0e65463a..2a308cf1ffd 100644 --- a/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java +++ b/container-core/src/main/java/com/yahoo/osgi/OsgiImpl.java @@ -11,12 +11,14 @@ import org.osgi.framework.launch.Framework; import java.util.Collection; import java.util.List; +import java.util.logging.Logger; /** * @author Tony Vaagenes * @author bratseth */ public class OsgiImpl implements Osgi { + private static Logger log = Logger.getLogger(OsgiImpl.class.getName()); private final OsgiFramework jdiscOsgi; @@ -36,6 +38,7 @@ public class OsgiImpl implements Osgi { alwaysCurrentBundle = firstNonFrameworkBundle(initialBundles); if (alwaysCurrentBundle == null) throw new IllegalStateException("The initial bundles only contained the framework bundle!"); + log.info("Using " + alwaysCurrentBundle + " to lookup current bundles."); } @Override @@ -111,6 +114,7 @@ public class OsgiImpl implements Osgi { * @return the bundle match having the highest version, or null if there was no matches */ public Bundle getBundle(ComponentSpecification id) { + log.fine(() -> "Getting bundle for component " + id + ". Set of current bundles: " + getCurrentBundles()); Bundle highestMatch = null; for (Bundle bundle : getCurrentBundles()) { assert bundle.getSymbolicName() != null : "ensureHasBundleSymbolicName not called during installation"; diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java index 58ad5df9b0d..ae1c81195ce 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java @@ -15,6 +15,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.logging.Logger; /** * A bundle {@link CollisionHook} that contains a set of bundles that are allowed to collide with @@ -26,6 +27,7 @@ import java.util.Set; * @author gjoranv */ public class BundleCollisionHook implements CollisionHook, EventHook, FindHook { + private static Logger log = Logger.getLogger(BundleCollisionHook.class.getName()); private ServiceRegistration<?> registration; private Map<Bundle, BsnVersion> allowedDuplicates = new HashMap<>(5); @@ -105,6 +107,7 @@ public class BundleCollisionHook implements CollisionHook, EventHook, FindHook { } } } + log.info("Hiding bundles from bundle '" + context.getBundle() + "': " + bundlesToHide); bundles.removeAll(bundlesToHide); } diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java index eb829d3b273..c14e513fb98 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/FelixFramework.java @@ -158,7 +158,11 @@ public class FelixFramework implements OsgiFramework { @Override public List<Bundle> getBundles(Bundle requestingBundle) { - return Arrays.asList(requestingBundle.getBundleContext().getBundles()); + log.fine(() -> "All bundles: " + bundles()); + log.fine(() -> "Getting visible bundles for bundle " + requestingBundle); + List<Bundle> visibleBundles = Arrays.asList(requestingBundle.getBundleContext().getBundles()); + log.fine(() -> "Visible bundles: " + visibleBundles); + return visibleBundles; } public void allowDuplicateBundles(Collection<Bundle> bundles) { |