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/)

Reply via email to