Hi
I have just tried ActiveMQ 5.14.0 with Camel 2.17.3 on Karaf 4.0.6
karaf@root()> feature:repo-add camel 2.17.3
Adding feature url mvn:org.apache.camel.karaf/apache-camel/2.17.3/xml/features
karaf@root()> feature:repo-add activemq 5.14.0
Adding feature url mvn:org.apache.activemq/activemq-karaf/5.14.0/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
brokerName = amq-broker
karaf@root()> dstat
Name Queue Size Producer #
Consumer # Enqueue # Dequeue # Forward # Memory %
ActiveMQ.Advisory.MasterBroker 0 0
0 1 0 0 0
karaf@root()>
No more problems while installing all the components (like before). But after
restart following exception can be found in logs and the broker is down
...
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.springframework.util.ClassUtils.forName(ClassUtils.java:250)[134:org.apache.servicemix.bundles.spring-core:4.2.5.RELEASE_1]
at
org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:125)[131:org.apache.servicemix.bundles.spring-beans:4.2.5.RELEASE_1]
... 26 more
The bundle exporting the missing class is installed in Karaf
karaf@root()> exports | grep org.apache.xbean.spring.context
org.apache.xbean.spring.context.impl | 3.18.0
| 88 | org.apache.xbean.spring
org.apache.xbean.spring.context.v2 | 3.18.0
| 88 | org.apache.xbean.spring
org.apache.xbean.spring.context.v2c | 3.18.0
| 88 | org.apache.xbean.spring
org.apache.xbean.spring.context | 3.18.0
| 88 | org.apache.xbean.spring
The activemq-osgi bundle has enabled dynamic import, but only following xbean
packages are imported
karaf@root()> headers 61
..........
DynamicImport-Package =
*
.........
org.apache.xbean.spring.context;resolution:=optional;version="[3.13,5)",
org.apache.xbean.spring.context.impl;resolution:=optional;version="[3.13,5)",
...............
It looks like the org.apache.xbean.spring.context.v2 package is not correctly
resolved after restart.
Regards
Krzysztof
On 13.06.2016 08:03, Jean-Baptiste Onofré wrote:
> Hi Krzysztof
>
> I will resume my work on it.
>
> I will keep you posted soon.
>
> Regards
> JB
>
> On 06/12/2016 09:34 PM, Krzysztof Sobkowiak wrote:
>> Hi
>>
>> Any news about this problem?
>>
>> Regards
>> Krzysztof
>>
>> On 28.04.2016 21:21, Krzysztof Sobkowiak wrote:
>>> 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/)