Hi

I have performed some analysis for 2.17.5 (for 2.18.x problem looks more 
complicated)

karaf@root()> feature:repo-add camel 2.17.5
Adding feature url mvn:org.apache.camel.karaf/apache-camel/2.17.5/xml/features
karaf@root()> feature:repo-add activemq 5.14.3
Adding feature url mvn:org.apache.activemq/activemq-karaf/5.14.3/xml/features

And now:

karaf@root()> feature:install -v activemq-camel
Adding features: activemq-camel/[5.14.3,5.14.3]
Changes to perform:
  Region: root
    Bundles to install:
.....
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/4.2.8.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/3.2.17.RELEASE_1
      
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/4.2.8.RELEASE_1

2 versions of Spring are installed.

Now:

karaf@root()> list -t 0
START LEVEL 100 , List Threshold: 0
ID | State    | Lvl | Version          | Name
------------------------------------------------------------------------------------------------------------
....
69 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-aop
70 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-aop
71 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-beans
72 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-beans
73 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-context
74 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-context
75 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-context-support
76 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-context-support
77 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-core
78 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-core
79 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-expression
80 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-expression
81 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-jms
82 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-jms
83 | Active   |  30 | 3.2.17.RELEASE_1 | Apache ServiceMix :: Bundles :: 
spring-tx
84 | Active   |  30 | 4.2.8.RELEASE_1  | Apache ServiceMix :: Bundles :: 
spring-tx

And when you examine the dependency tree of activemq-camel you can see 
following (excuse me long listings):

karaf@root()> bundle:tree-show 52
Bundle org.apache.activemq.activemq-camel [52] is currently ACTIVE

org.apache.activemq.activemq-camel [52]
+- org.apache.servicemix.bundles.spring-core [77]
|  +- org.ops4j.pax.logging.pax-logging-api [1]
|     +- org.apache.karaf.services.eventadmin [6]
|        +- org.apache.felix.configadmin [3]
|        +- org.apache.felix.metatype [5]
+- org.apache.servicemix.bundles.spring-jms [81]
|  +- org.apache.servicemix.bundles.spring-core [77]
|  +- org.apache.servicemix.bundles.spring-beans [71]
|  |  +- org.apache.servicemix.bundles.spring-core [77]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.spring-aop [69]
|  |  +- org.apache.servicemix.bundles.spring-core [77]
|  |  +- org.apache.servicemix.bundles.spring-beans [71]
|  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  +- org.apache.commons.pool [61]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.spring-context [73]
|  |  +- org.apache.servicemix.bundles.spring-expression [79]
|  |  |  +- org.apache.servicemix.bundles.spring-core [77]
|  |  +- org.apache.servicemix.bundles.spring-core [77]
|  |  +- org.apache.servicemix.bundles.spring-aop [69]
|  |  +- org.apache.servicemix.bundles.spring-beans [71]
|  |  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  |  |  +- org.apache.geronimo.specs.geronimo-jta_1.1_spec [65]
|  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  +- org.apache.servicemix.bundles.spring-tx [83]
|  |  +- org.apache.servicemix.bundles.spring-core [77]
|  |  +- org.apache.geronimo.specs.geronimo-jta_1.1_spec [65]
|  |  +- org.apache.servicemix.bundles.spring-beans [71]
|  |  +- org.apache.servicemix.bundles.spring-aop [69]
|  |  +- org.apache.servicemix.bundles.spring-context [73]
|  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.aopalliance [67]
|  +- org.ops4j.pax.logging.pax-logging-api [1]
+- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
+- org.apache.servicemix.bundles.spring-tx [83]
+- org.apache.activemq.activemq-osgi [53]
|  +- org.apache.geronimo.specs.geronimo-jta_1.1_spec [65]
|  +- org.apache.commons.net [60]
|  +- org.apache.aries.blueprint.api [10]
|  +- org.apache.servicemix.bundles.spring-beans [71]
|  +- org.apache.hadoop.zookeeper [66]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.jvnet.jaxb2_commons.jaxb2-basics-runtime [86]
|  |  +- org.apache.servicemix.bundles.jaxb-impl [68]
|  +- org.apache.aries.blueprint.core [12]
|  |  +- org.apache.aries.proxy.api [19]
|  |  |  +- org.apache.aries.util [21]
|  |  |     +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.apache.aries.blueprint.api [10]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.apache.aries.util [21]
|  |  +- org.apache.karaf.services.eventadmin [6]
|  +- org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec [63]
|  +- org.apache.camel.camel-jms [58]
|  |  +- org.apache.servicemix.bundles.spring-jms [81]
|  |  +- org.apache.servicemix.bundles.spring-core [77]
|  |  +- org.apache.servicemix.bundles.spring-beans [71]
|  |  +- org.apache.servicemix.bundles.spring-context [73]
|  |  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  |  +- org.apache.servicemix.bundles.spring-tx [83]
|  |  +- org.apache.camel.camel-core [57]
|  |  |  +- org.apache.servicemix.bundles.spring-tx [84]
|  |  |  |  +- org.apache.servicemix.bundles.spring-aop [70]
|  |  |  |  |  +- org.apache.commons.pool2 [62]
|  |  |  |  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  |  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  |  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  |  |  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  |  |  +- org.apache.commons.pool [61]
|  |  |  |  +- org.apache.servicemix.bundles.spring-context [74]
|  |  |  |  |  +- org.apache.servicemix.bundles.spring-aop [70]
|  |  |  |  |  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  |  |  |  |  +- org.apache.servicemix.bundles.spring-expression [80]
|  |  |  |  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  |  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  |  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  |  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.spring-core [77]
|  +- org.apache.servicemix.bundles.spring-jms [81]
|  +- org.apache.servicemix.bundles.spring-aop [69]
|  +- org.apache.felix.configadmin [3]
|  +- org.apache.servicemix.bundles.spring-context [73]
|  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  +- org.apache.servicemix.bundles.spring-tx [83]
|  +- org.apache.commons.pool2 [62]
|  +- org.objectweb.asm.all [50]
|  +- org.apache.servicemix.bundles.aopalliance [67]
|  +- org.apache.camel.camel-core [57]
|  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.xbean.spring [85]
|     +- org.apache.servicemix.bundles.spring-core [77]
|     +- org.apache.servicemix.bundles.spring-beans [71]
|     +- org.apache.servicemix.bundles.spring-context [73]
|     +- org.ops4j.pax.logging.pax-logging-api [1]
+- org.apache.camel.camel-core [57]
+- org.ops4j.pax.logging.pax-logging-api [1]
+- org.apache.camel.camel-jms [58]


As you can see, almost everywhere the version 3.2.17.RELEASE_1 of Spring  
bundles are wired, but camel-core wires the Spring 4.2.8.RELEASE_1

Of course, after restart well known exception

Caused by: java.lang.ClassNotFoundException: 
org.apache.xbean.spring.context.v2.XBeanNamespaceHandler not found by 
org.apache.activemq.activemq-osgi [53]

Let's inspect again.

karaf@root()> bundle:tree-show 52
Bundle org.apache.activemq.activemq-camel [52] is currently ACTIVE

org.apache.activemq.activemq-camel [52]
+- org.apache.servicemix.bundles.spring-tx [84]
|  +- org.apache.servicemix.bundles.spring-aop [70]
|  |  +- org.apache.commons.pool2 [62]
|  |  +- org.apache.commons.pool [61]
|  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  |  |     +- org.apache.karaf.services.eventadmin [6]
|  |  |  |        +- org.apache.felix.metatype [5]
|  |  |  |        +- org.apache.felix.configadmin [3]
|  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.spring-context [74]
|  |  +- org.apache.servicemix.bundles.spring-expression [80]
|  |  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.apache.servicemix.bundles.spring-aop [70]
|  |  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  |  |  +- org.apache.geronimo.specs.geronimo-jta_1.1_spec [65]
|  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.aopalliance [67]
|  +- org.apache.servicemix.bundles.spring-beans [72]
|  +- org.apache.servicemix.bundles.spring-core [78]
|  +- org.ops4j.pax.logging.pax-logging-api [1]
+- org.apache.activemq.activemq-osgi [53]
|  +- org.apache.commons.pool2 [62]
|  +- org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec [63]
|  +- org.apache.felix.configadmin [3]
|  +- org.apache.hadoop.zookeeper [66]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.aries.blueprint.core [12]
|  |  +- org.apache.karaf.services.eventadmin [6]
|  |  +- org.apache.aries.blueprint.api [10]
|  |  +- org.apache.aries.proxy.api [19]
|  |  |  +- org.apache.aries.util [21]
|  |  |     +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  |  +- org.apache.aries.util [21]
|  +- org.apache.commons.net [60]
|  +- org.apache.servicemix.bundles.spring-context [74]
|  +- org.apache.camel.camel-core [57]
|  |  +- org.apache.servicemix.bundles.spring-tx [84]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.apache.servicemix.bundles.spring-core [78]
|  +- org.apache.servicemix.bundles.spring-tx [84]
|  +- org.apache.servicemix.bundles.spring-aop [70]
|  +- org.apache.servicemix.bundles.spring-jms [82]
|  |  +- org.apache.servicemix.bundles.spring-expression [80]
|  |  +- org.apache.servicemix.bundles.spring-tx [84]
|  |  +- org.apache.servicemix.bundles.spring-aop [70]
|  |  +- org.apache.servicemix.bundles.spring-context [74]
|  |  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  |  +- org.apache.servicemix.bundles.aopalliance [67]
|  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.jvnet.jaxb2_commons.jaxb2-basics-runtime [86]
|  |  +- org.apache.servicemix.bundles.jaxb-impl [68]
|  +- org.apache.aries.blueprint.api [10]
|  +- org.objectweb.asm.all [50]
|  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  +- org.apache.servicemix.bundles.aopalliance [67]
|  +- org.apache.servicemix.bundles.spring-beans [72]
|  +- org.apache.geronimo.specs.geronimo-jta_1.1_spec [65]
|  +- org.apache.camel.camel-jms [58]
|  |  +- org.apache.servicemix.bundles.spring-tx [84]
|  |  +- org.apache.servicemix.bundles.spring-jms [82]
|  |  +- org.apache.servicemix.bundles.spring-context [74]
|  |  +- org.apache.camel.camel-core [57]
|  |  +- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
|  |  +- org.apache.servicemix.bundles.spring-beans [72]
|  |  +- org.apache.servicemix.bundles.spring-core [78]
|  |  +- org.ops4j.pax.logging.pax-logging-api [1]
|  +- org.ops4j.pax.logging.pax-logging-api [1]
+- org.apache.servicemix.bundles.spring-jms [82]
+- org.apache.camel.camel-core [57]
+- org.apache.geronimo.specs.geronimo-jms_1.1_spec [64]
+- org.apache.servicemix.bundles.spring-core [78]
+- org.apache.camel.camel-jms [58]
+- org.ops4j.pax.logging.pax-logging-api [1]

Now all bundles are re-wired and you can see all bundles use the Spring 
4.2.8.RELEASE_1, but there is no org.apache.xbean.spring in this dependency 
tree. Probably because of the error while restarting Karaf. When we inspect 
this bundle we can see it doesn't allow to wire the Spring 4.

    org.springframework.beans;version="[2.5,4)",
    org.springframework.beans.factory;version="[2.5,4)",
    org.springframework.beans.factory.config;version="[2.5,4)",
    org.springframework.beans.factory.parsing;version="[2.5,4)",
    org.springframework.beans.factory.support;version="[2.5,4)",
    org.springframework.beans.factory.xml;version="[2.5,4)",
    org.springframework.context;version="[2.5,4)",
    org.springframework.context.support;version="[2.5,4)",
    org.springframework.core.io;version="[2.5,4)",
    org.springframework.core.io.support;version="[2.5,4)",
    org.springframework.util;version="[2.5,4)",
    org.springframework.util.xml;version="[2.5,4)",

So we have one bundle which cannot use the same Spring version like all other 
bundles. Maybe this is the problem.

Kindly regards
Krzysztof



On 19.01.2017 08:15, Sobkowiak Krzysztof wrote:
> Btw, this trick with camel-cxf doesn't help with Camel 2.18.x. I think, there 
> was a change in Camel 2.17.3 which helped with this problem (but not 
> completely yet), but the change is not available in 2.18.x (I tried current 
> snapshot and it didn't help too).
>
> It looks like this change has helped in 2.17.3 
> https://github.com/apache/camel/commit/284cc6780de1e32468ef2ae50ad357a444e79da1
>  (CAMEL-10153), which introduces [3.2,5) as version range for spring in 
> camel-cxf. In 2.18.x there is still used the version range [4.1,5)
>
> Regards
> Krzysztof
>
> On 19.01.2017 01:17, Krzysztof Sobkowiak wrote:
>> My mistake. This problem still happens in the sample steps below - the 
>> exception still occurs after Karaf restart and broker doesn't start.
>> But adding camel-cxf seems to fix this problem
>>
>> feature:install camel camel-blueprint camel-jms camel-cxf activemq-camel 
>> activemq-broker-noweb activemq-blueprint
>>
>> Kindly regards
>> Krzysztof
>>
>>
>> On 14.01.2017 22:55, Krzysztof Sobkowiak wrote:
>>> Hi
>>>
>>> I could successfully install Camel 2.17.3 and ActiveMQ 5.14.3 on Karaf 
>>> 4.0.8 (also 4.0.7):
>>>
>>>
>>>         __ __                  ____     
>>>        / //_/____ __________ _/ __/     
>>>       / ,<  / __ `/ ___/ __ `/ /_       
>>>      / /| |/ /_/ / /  / /_/ / __/       
>>>     /_/ |_|\__,_/_/   \__,_/_/        
>>>
>>>   Apache Karaf (4.0.8)
>>>
>>> Hit '<tab>' for a list of available commands
>>> and '[cmd] --help' for help on a specific command.
>>> Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Karaf.
>>>
>>> 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.3
>>> Adding feature url 
>>> mvn:org.apache.activemq/activemq-karaf/5.14.3/xml/features
>>> karaf@root()> feature:install camel camel-blueprint camel-jms 
>>> activemq-camel activemq-broker-noweb activemq-blueprint
>>> karaf@root()> activemq:list
>>> brokerName = amq-broker
>>>
>>>
>>> Kindly tegards
>>> Krzysztof
>>>
>>> On 30.11.2016 14:11, IODB wrote:
>>>> Can somebody refer me to the relevant Jira issue, so I can track its
>>>> progress?
>>>>
>>>> Thanks
>>>>
>>>>
> Krzysztof Sobkowiak
>
> 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/)


Reply via email to