It looks like it's again the problem with installing of multiple Spring versions while ActiveMQ bundles are already present in Karaf. Spring 3.2.14.RELEASE_1 was already installed with the broker and now all other Spring versions are installed with activemq-camel feature.
karaf@root()> feature:install -v activemq-camel Adding features: activemq-camel/[5.13.3,5.13.3] Changes to perform: Region: root Bundles to update: org.apache.servicemix.bundles.jaxb-impl/2.2.11.1 with mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.6_1 Bundles to install: mvn:org.apache.activemq/activemq-camel/5.13.3 mvn:org.apache.camel/camel-blueprint/2.17.0 mvn:org.apache.camel/camel-catalog/2.17.0 mvn:org.apache.camel/camel-commands-core/2.17.0 mvn:org.apache.camel/camel-core/2.17.0 mvn:org.apache.camel/camel-jms/2.17.0 mvn:org.apache.camel.karaf/camel-karaf-commands/2.17.0 mvn:commons-codec/commons-codec/1.9 mvn:commons-pool/commons-pool/1.6 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/4.2.5.RELEASE_1 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/4.1.7.RELEASE_2 mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/4.2.5.RELEASE_1 mvn:org.springframework/spring-aop/3.1.4.RELEASE mvn:org.springframework/spring-asm/3.1.4.RELEASE mvn:org.springframework/spring-beans/3.1.4.RELEASE mvn:org.springframework/spring-context/3.1.4.RELEASE mvn:org.springframework/spring-context-support/3.1.4.RELEASE mvn:org.springframework/spring-core/3.1.4.RELEASE mvn:org.springframework/spring-expression/3.1.4.RELEASE mvn:org.codehaus.woodstox/stax2-api/3.1.4 mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1 ....... I have described something similar here http://karaf.922171.n3.nabble.com/Feature-spring-4-2-3-RELEASE-1-also-installs-bundles-from-Spring-version-3-1-4-when-activemq-is-instd-td4046213.html. Regards Krzysztof On 28.04.2016 00:27, Krzysztof Sobkowiak wrote: > Hi > > I have tried to install activemq-broker-noweb and activemq-camel features > (5.13.2, 5.13.3 and current master) with Camel 2.17.0 on Karaf 4.0.5 but with > no success: > > karaf@root()> feature:repo-add camel 2.17.0 > Adding feature url mvn:org.apache.camel.karaf/apache-camel/2.17.0/xml/features > karaf@root()> feature:repo-add activemq 5.13.2 > Adding feature url mvn:org.apache.activemq/activemq-karaf/5.13.2/xml/features > karaf@root()> feature:install activemq-broker-noweb > karaf@root()> activemq:list > brokerName = amq-broker > > karaf@root()> feature:install activemq-camel > karaf@root()> activemq:list > karaf@root()> > > The activemq-osgi bundle is refreshed and and cannot be resolved anymore > > There is following entry in log > > Caused by: java.lang.ClassNotFoundException: > org.apache.xbean.spring.context.v2.XBeanNamespaceHandler not found by > org.apache.activemq.activemq-osgi [61] > 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)[org.apache.felix.framework-5.4.0.jar:] > at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_80] > at > org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1925)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:978)[org.apache.felix.framework-5.4.0.jar:] > at > org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99)[124:org.springframework.osgi.core:1.2.1] > ... 36 more > > There is a bundle providing this package > > karaf@root()> exports | grep org.apache.xbean.spring.context.v2 > org.apache.xbean.spring.context.v2 | 3.18.0 > | 91 | org.apache.xbean.spring > org.apache.xbean.spring.context.v2c | 3.18.0 > | 91 | org.apache.xbean.spring > > It looks like activemq-osgi doesn't import this package. But setting > dynamic-imports on it causes further error > > Caused by: java.lang.ClassNotFoundException: > org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext not > found by org.apache.activemq.activemq-osgi [61] > 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:358)[:1.7.0_80] > ... 46 more > > There is a bundle providing this package available > > karaf@root()> exports | grep org.springframework.osgi.context.support > org.springframework.osgi.context.support | 1.2.1 > | 124 | org.springframework.osgi.core > > One another interesting thing - headers command on activemq-osgi shows > following import > > org.springframework.osgi.context.support;resolution:=optional;version="[3,5)" > > but in ActiveMQ code there is following entry > > org.springframework.osgi*;version="[1,4]";resolution:=optional > > I think, the range [3,5) is the reason why the package > org.springframework.osgi.context.supportcannot be resolved, because it's > provided in version 1.2.1 > > Do you have any ideas why this problem happens? I think, it's something > connected with the changes in Spring dependencies in Camel 2.17.0 > > Regards > Krzysztof -- Krzysztof Sobkowiak (@ksobkowiak) JEE & OSS Architect, Integration Architect Apache Software Foundation Member (http://apache.org/) Apache ServiceMix Committer & PMC Member (http://servicemix.apache.org/) Senior Solution Architect @ Capgemini SSC (http://www.capgeminisoftware.pl/)