CannotResolveClassException after Camel route restart
Issue
- We are using JBoss A-MQ to realize a persistent SEDA in our camel routes:
<route id="sample.receiver">
<from uri="..."/>
...
<to uri="activemq:sample.incomingdocument"/>
</route>
<route id="sample.dispatcher" errorHandlerRef="mqErrorHandler">
<from uri="activemqTx:sample.incomingdocument"/>
<transacted ref="mqTransactionPolicy"/>
...
<to uri="..."/>
</route>
- The marshalling / unmarshalling of the camel body is done with the help of a MessageConverter which internally uses XStream. If we stop the dispatcher route above and enqueue a message in the JBoss A-MQ queue we get the exception below after restart the dispatcher route. How can we avoid this error?
2013-07-11 12:22:31,320 | INFO | l Console Thread | OsgiSpringCamelContext | 146 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | Route: sample.incomingdocument.dispatcher started and consuming from: Endpoint[activemqTx://sample.incomingdocument]
2013-07-11 12:22:31,367 | WARN | ncomingdocument] | EndpointMessageListener | 146 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | Execution of JMS message listener failed. Caused by: [org.apache.camel.RuntimeCamelException - com.thoughtworks.xstream.mapper.CannotResolveClassException: x.x.SomeClass : x.x.SomeClass not found by org.apache.karaf.shell.console [15]]
org.apache.camel.RuntimeCamelException: com.thoughtworks.xstream.mapper.CannotResolveClassException: x.x.SomeClass : x.x.SomeClass not found by org.apache.karaf.shell.console [15]
at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)[146:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.component.jms.EndpointMessageListener$EndpointMessageListenerAsyncCallback.done(EndpointMessageListener.java:187)[158:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:108)[158:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[157:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[157:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[157:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[157:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)[157:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[157:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:952)[157:org.springframework.jms:3.0.7.RELEASE]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_21]
at java.lang.Thread.run(Thread.java:722)[:1.7.0_21]
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: x.x.SomeClass : x.x.SomeClass not found by org.apache.karaf.shell.console [15]
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:62)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.CGLIBMapper.realClass(CGLIBMapper.java:50)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:71)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:86)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:87)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:52)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:138)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:931)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:917)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)[131:org.apache.servicemix.bundles.xstream:1.3.0.3]
Environment
- Red Hat JBoss A-MQ
- 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
