I'm running a servicemix cluster using JMSFlow. The app is deployed as a webapp in Tomcat 5.5.20 running under a java5 jdk. I am using the servicemix-3.0-release version. When the nodes broadcast to each other, I'm getting a seriralization error on javax.xml.namespace.QName on all nodes

It seems as though an unexpected version of this class is being loaded by one of the nodes, yet I have exhaustively reviewed each jar that is part of my app, as well as the ones in Tomcat itself - I cannot find any that contain a different QName implementation, I *should* only have the jdk1.5 version, which has uid 4418622981026545151.

I am at my wits end, has anyone seen this before? What am I missing?


Here is the stack trace:

ActiveMQ Session Task 2007-02-09 10:06:43,198 ERROR [JMSFlow:onMessage] Error processing incoming broadcast message javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -9120448754896609940, local class serialVersionUID = 4418622981026545151 at org.apache.activemq.util.JMSExceptionSupport.create (JMSExceptionSupport.java:32) at org.apache.activemq.command.ActiveMQObjectMessage.getObject (ActiveMQObjectMessage.java:172) at org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage (JMSFlow.java:278) at org.apache.activemq.ActiveMQMessageConsumer.dispatch (ActiveMQMessageConsumer.java:795) at org.apache.activemq.ActiveMQSessionExecutor.dispatch (ActiveMQSessionExecutor.java:96) at org.apache.activemq.ActiveMQSessionExecutor.iterate (ActiveMQSessionExecutor.java:149) at org.apache.activemq.thread.PooledTaskRunner.runTask (PooledTaskRunner.java:110) at org.apache.activemq.thread.PooledTaskRunner.access$100 (PooledTaskRunner.java:25) at org.apache.activemq.thread.PooledTaskRunner$1.run (PooledTaskRunner.java:43) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -9120448754896609940, local class serialVersionUID = 4418622981026545151
        at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io.ObjectInputStream.readClassDesc(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
at org.apache.activemq.command.ActiveMQObjectMessage.getObject (ActiveMQObjectMessage.java:166)
        ... 10 more

Reply via email to