You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/05/20 09:05:12 UTC

[jira] [Commented] (AMQ-6298) activemq-osgi blueprint fails to load due to broken spring-dm Import-Package metadata

    [ https://issues.apache.org/jira/browse/AMQ-6298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15293037#comment-15293037 ] 

ASF GitHub Bot commented on AMQ-6298:
-------------------------------------

GitHub user soleger opened a pull request:

    https://github.com/apache/activemq/pull/186

    AMQ-6298: Fixed Spring Import-Package wildcard

    The org.springframework wildcard is above the Spring-DM org.springframework.osgi import, causing incorrect OSGi metadata.
    
    https://issues.apache.org/jira/browse/AMQ-6298

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/soleger/activemq AMQ-6298

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq/pull/186.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #186
    
----
commit 8b7632cb4f6aaa0d7d7c2febab5e60b6abcf3dff
Author: Seth Leger <se...@opennms.org>
Date:   2016-05-20T08:57:51Z

    AMQ-6298: Moved Spring Import-Package wildcard below other Spring
    imports.

----


> activemq-osgi blueprint fails to load due to broken spring-dm Import-Package metadata
> -------------------------------------------------------------------------------------
>
>                 Key: AMQ-6298
>                 URL: https://issues.apache.org/jira/browse/AMQ-6298
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: OSGi/Karaf
>    Affects Versions: 5.13.0, 5.13.1, 5.13.2, 5.13.3
>            Reporter: Seth Leger
>            Priority: Blocker
>              Labels: patch
>
> In issue AMQ-5922, I supplied a patch that updated the OSGi version range inside activemq-osgi for Spring to include Spring 4.X. Unfortunately, I reordered the "org.springframework*" clause and this is causing the version range for Spring and *Spring-DM* classes to be set to "[3,5)".
> This is not a correct version range for Spring-DM since its releases only went from 1.0 to several 2.0 candidates. As a result, when the activemq-osgi bundle loads inside Apache Karaf, its blueprint (which utilizes classes from the spring-dm bundle) fails to load.
> The exception trace thrown when this happens is:
> {noformat}
> 2016-05-19 18:44:05,952 | ERROR | pool-53-thread-1 | BlueprintContainerImpl           | 10 - org.apache.aries.blueprint.core - 1.6.1 | Unable to start blueprint container for bundle org.apache.activemq.activ
> emq-osgi/5.13.3
> org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components
>         at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:728)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[14:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[14:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[14:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[14:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[14:org.apache.aries.util:1.1.1]
>         at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1262)[7:org.apache.karaf.features.core:4.0.5]
>         at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:840)[7:org.apache.karaf.features.core:4.0.5]
>         at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1152)[7:org.apache.karaf.features.core:4.0.5]
>         at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:1048)[7:org.apache.karaf.features.core:4.0.5]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_60]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_60]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_60]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]
> Caused by: java.lang.NoClassDefFoundError: org/springframework/osgi/context/support/OsgiBundleXmlApplicationContext
>         at java.lang.Class.getDeclaredConstructors0(Native Method)[:1.8.0_60]
>         at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)[:1.8.0_60]
>         at java.lang.Class.getConstructors(Class.java:1651)[:1.8.0_60]
>         at org.apache.aries.blueprint.container.BeanRecipe.findMatchingConstructors(BeanRecipe.java:533)
>         at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromType(BeanRecipe.java:345)
>         at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:282)
>         at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:830)
>         at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)
>         at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_60]
>         at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[10:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[10:org.apache.aries.blueprint.core:1.6.1]
>         ... 26 more
> Caused by: java.lang.ClassNotFoundException: org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext not found by org.apache.activemq.activemq-osgi [75]
>         at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_60]
>         ... 40 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)