diff --git a/extender/src/main/java/org/eclipse/gemini/blueprint/extender/internal/blueprint/activator/support/BlueprintContainerCreator.java b/extender/src/main/java/org/eclipse/gemini/blueprint/extender/internal/blueprint/activator/support/BlueprintContainerCreator.java index 9f9a09c..8b18f3e 100644 --- a/extender/src/main/java/org/eclipse/gemini/blueprint/extender/internal/blueprint/activator/support/BlueprintContainerCreator.java +++ b/extender/src/main/java/org/eclipse/gemini/blueprint/extender/internal/blueprint/activator/support/BlueprintContainerCreator.java @@ -25,6 +25,9 @@ import org.eclipse.gemini.blueprint.util.OsgiStringUtils; import org.springframework.util.ObjectUtils; +import java.util.Arrays; +import java.util.List; + /** * Blueprint specific context creator. Picks up the Blueprint locations instead of Spring DM's. * @@ -51,6 +54,16 @@ public DelegatedExecutionOsgiBundleApplicationContext createApplicationContext(B return null; } + // If Aries Blueprint is present, delegates to him the blueprint instantiation + List allBundles = Arrays.asList(bundleContext.getBundles()); + boolean hasAries = allBundles.stream() + .anyMatch(b -> b.getSymbolicName().equals("org.apache.aries.blueprint.core")); + if (hasAries) { + log.info("[Gemini Extender] Aries Blueprint is enabled at the running container, skipping blueprint " + + "instantiation for bundle " + bundleName + "..."); + return null; + } + log.info("Discovered configurations " + ObjectUtils.nullSafeToString(config.getConfigurationLocations()) + " in bundle [" + bundleName + "]");