Hi,
How did you start and stop the route? By using camel web console or Java
API ?
Did you also start and stop the camel context ?
Willem
waterback wrote:
Hello All,
i need help on understanding, what happens when i stop a running (& fully
functioning) route and start it up again.
I use Camel 2.2 w Spring Configured in a webapp and WAS 6.1 on a Java 1.5
jdk and WebSphere MQ 7.
The root of the problem seems to be a classnotfoundexception of the
object-class that is put as a serialized Object on the Queue.
When i start up my application on WebSphere, it actually works (finds the
class) but after i did stop/start the route it doesn't find the class
anymore: (Sorry my WebSphere speaks german)
jms_object
JMSType: null
JMSDeliveryMode: 2
JMSExpiration: 0
JMSPriority: 4
JMSMessageID: ID:414d51207a73332e76736c20202020207cc6ac4b075d0220
JMSTimestamp: 1276512687765
JMSCorrelationID:null
JMSDestination: queue:///DEB.VSL.ZIFS.TAC.GROUP_9.ARE
JMSReplyTo: null
JMSRedelivered: false
JMSXDeliveryCount:1
JMS_IBM_MsgType:8
JMSXAppID:WebSphere MQ Client for Java
JMS_IBM_Format:
JMS_IBM_PutApplType:28
JMSXUserID:mqm
chunksize:5
JMS_IBM_PutTime:10512860
JMS_IBM_PutDate:20100614
<Beim Lesen des Nachrichtenhauptteils ist eine Ausnahmebedingung
aufgetreten: javax.jms.MessageFormatException: MQJMS1061: Objekt kann nicht
entserialisiert werden>
at
org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:158)
at
org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:183)
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:42)
at
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:60)
at
org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:56)
at
org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:811)
Caused by: javax.jms.MessageFormatException: MQJMS1061: Objekt kann nicht
entserialisiert werden
at
com.ibm.jms.JMSMessage.newMessageFormatException(JMSMessage.java:5000)
at com.ibm.jms.JMSObjectMessage.getObject(JMSObjectMessage.java:296)
at
org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:125)
... 16 more
---- Begin backtrace for Nested Throwables
java.lang.ClassNotFoundException: com.innoq.zifs.pserun.model.WLChunk
at
com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:604)
at
com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:439)
at java.lang.ClassLoader.loadClass(ClassLoader.java:605)
at
com.ibm.mq.MQObjectInputStream.resolveClass(MQObjectInputStream.java:175)
at
com.ibm.mq.MQObjectInputStream.resolveClass(MQObjectInputStream.java:114)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1581)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1503)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1736)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:379)
at com.ibm.jms.JMSObjectMessage.getObject(JMSObjectMessage.java:276)
at
org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:125)
at
org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:183)
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:42)
at
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:60)
at
org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:56)
at
org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:811)
Any Idea what happens after stop/start so that my class "disappears"... and
the Broker can't serialize it anymore?
Thanx in Advance,
Martin