[
https://issues.apache.org/activemq/browse/AMQ-2501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56254#action_56254
]
Vincent Girard-Reydet commented on AMQ-2501:
--------------------------------------------
Did this solve the issue?
I use the same configuration as you, and I patched activemq-camel 5.3.0 to
include your modified header. But when I instanciate a bundle that uses the
activemq-camel component, I get the following error:
ka...@root> Exception in thread "SpringOsgiExtenderThread-83"
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'camel': Invocation o
f init method failed; nested exception is
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading
class [org.apache.activemq.camel.component.ActiveM
QComponent] for bean with name 'activemq' defined in URL
[bundle://213.1:0/META-INF/spring/camel-context.xml]: problem with class file
or dependent class; nested exceptio
n is java.lang.NoClassDefFoundError:
org.apache.activemq.camel.component.ActiveMQComponent not found from bundle
[DiVA :: Context :: Temperature Reader (eu.diva.tis.conte
xt.sensors.temperature-reader)]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:308)
at
org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:947)
at
org.springframework.context.support.AbstractApplicationContext.registerListeners(AbstractApplicationContext.java:701)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1500(AbstractDelegatedExecutionApplicationContext.java:69)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:351)
at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationC
ontextExecutor.java:136)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException:
Error loading class [org.apache.activemq.camel.component.ActiveMQComponent] for
bean with name
'activemq' defined in URL [bundle://213.1:0/META-INF/spring/camel-context.xml]:
problem with class file or dependent class; nested exception is
java.lang.NoClassDefFoundE
rror: org.apache.activemq.camel.component.ActiveMQComponent not found from
bundle [DiVA :: Context :: Temperature Reader
(eu.diva.tis.context.sensors.temperature-reader)]
at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1144)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:524)
at
org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1177)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:222)
at
org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:937)
at
org.apache.camel.spring.CamelContextFactoryBean.getBeanForType(CamelContextFactoryBean.java:539)
at
org.apache.camel.spring.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:185)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 18 more
Caused by: java.lang.NoClassDefFoundError:
org.apache.activemq.camel.component.ActiveMQComponent not found from bundle
[DiVA :: Context :: Temperature Reader (eu.diva.tis
.context.sensors.temperature-reader)]
at
org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:112)
at
org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:211)
at
org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:385)
at
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1138)
... 26 more
Caused by: java.lang.NoClassDefFoundError:
org/apache/camel/component/jms/JmsComponent
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1787)
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:682)
at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1650)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:598)
at
org.apache.felix.framework.searchpolicy.R4Wire.getClass(R4Wire.java:108)
at
org.apache.felix.framework.ModuleImpl.searchImports(ModuleImpl.java:1364)
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:677)
at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1650)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:598)
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1487)
at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:897)
at
org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99)
... 31 more
Caused by: java.lang.ClassNotFoundException:
org.apache.camel.component.jms.JmsComponent
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:738)
at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
at
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1650)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
... 49 more
My bundle's dependencies are:
Import-Package =
com.espertech.esper.client;version="3.1",eu.diva.factoryinstdiva,eu.diva.osgi.component,eu.diva.tis.api.alert,eu.diva.tis.api.context,eu.diva.tis.api.dom
ain,eu.diva.tis.context.sensors.temperature,eu.diva.tis.context.sensors.temperature.factory,eu.diva.tis.wildcat.osgi,javax.jms,net.sf.cglib.reflect,org.apache.activemq.camel.component,org.apache.camel;version="2.1.0.SNAPSHOT",org.apache.camel.builder;version="2.1.0.SNAPSHOT",org.apache.camel.model;version="2.1.0.SNAPSHOT",org.apache.camel.osgi,org.osgi.service.log,org.ow2.wildcat;version="2.1",org.slf4j;version="1.5"
And I have camel-jms[2.1.0-SNAPSHOT] installed with the modified activemq-camel
and activemq 5.3.0.
> Modify Apache Camel version of the pom
> --------------------------------------
>
> Key: AMQ-2501
> URL: https://issues.apache.org/activemq/browse/AMQ-2501
> Project: ActiveMQ
> Issue Type: Bug
> Reporter: Charles Moulliard
> Fix For: 5.4.0
>
> Attachments: MANIFEST.MF
>
>
> The current pom of the activemq project uses 2.0 as camel version.
> The issue is that when we deploy activemq-camel 5.3.0 top of servicemix
> 4.1.0-SNAPSHOT, we have a classloading issue because activemq-camel bundle
> cannot import org.apache.camel.component.jms package from Camel 2.1.SNAPSHOT
> May I propose to change version or add a version range in the MANIFEST file
> generated for activemq-camel :
> The current is :
> {code}
> Import-Package: META-INF.services.org.apache.camel,javax.jms;version="
> [1.1,1.2)",org.apache.activemq;version="[5.3,5.4)",org.apache.activem
> q.advisory;version="[5.3,5.4)",org.apache.activemq.camel;version="[5.
> 3,5.4)",org.apache.activemq.camel.component;version="[5.3,5.4)",org.a
> pache.activemq.camel.converter;version="[5.3,5.4)",org.apache.activem
> q.command;version="[5.3,5.4)",org.apache.activemq.kaha.impl.async;ver
> sion="[5.3,5.4)",org.apache.activemq.management;version="[5.3,5.4)",o
> rg.apache.activemq.spring;version="[5.3,5.4)",org.apache.activemq.tra
> nsport;version="[5.3,5.4)",org.apache.activemq.util;version="[5.3,5.4
> )",org.apache.camel;resolution:=optional;version="[2.0,2.1)",org.apac
> he.camel.component.jms;resolution:=optional;version="[2.0,2.1)",org.a
> pache.camel.impl;resolution:=optional;version="[2.0,2.1)",org.apache.
> camel.util;resolution:=optional;version="[2.0,2.1)",org.apache.common
> s.logging,org.apache.xbean.spring.context.v2;resolution:=optional,org
> .springframework.beans.factory;resolution:=optional;version="[2.5,2.6
> )",org.springframework.beans.factory.xml;resolution:=optional;version
> ="[2.5,2.6)",org.springframework.jms.connection;resolution:=optional;
> version="[2.5,2.6)",org.springframework.transaction;resolution:=optio
> nal;version="[2.5,2.6)"
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.