You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Kit Plummer <ch...@raytheon.com> on 2007/05/02 01:21:25 UTC

JMS(JCA)Flow ERROR...

Getting this a lot when running a few components on the latest apache- 
servicemix-fuse release:

ERROR - JMSFlow                        - 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 =  
4418622981026545151, local class serialVersionUID = -9120448754896609940
         at org.apache.activemq.util.JMSExceptionSupport.create 
(JMSExceptionSupport.java:33)
         at  
org.apache.activemq.command.ActiveMQObjectMessage.getObject 
(ActiveMQObjectMessage.java:172)
         at org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage 
(JMSFlow.java:281)
         at org.apache.activemq.ActiveMQMessageConsumer.dispatch 
(ActiveMQMessageConsumer.java:841)
         at org.apache.activemq.ActiveMQSessionExecutor.dispatch 
(ActiveMQSessionExecutor.java:96)
         at org.apache.activemq.ActiveMQSessionExecutor.iterate 
(ActiveMQSessionExecutor.java:165)
         at org.apache.activemq.thread.PooledTaskRunner.runTask 
(PooledTaskRunner.java:111)
         at org.apache.activemq.thread.PooledTaskRunner.access$100 
(PooledTaskRunner.java:26)
         at org.apache.activemq.thread.PooledTaskRunner$1.run 
(PooledTaskRunner.java:44)
         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(Thread.java:619)
Caused by: java.io.InvalidClassException: javax.xml.namespace.QName;  
local class incompatible: stream classdesc serialVersionUID =  
4418622981026545151, local class serialVersionUID = -9120448754896609940
         at java.io.ObjectStreamClass.initNonProxy 
(ObjectStreamClass.java:562)
         at java.io.ObjectInputStream.readNonProxyDesc 
(ObjectInputStream.java:1583)
         at java.io.ObjectInputStream.readClassDesc 
(ObjectInputStream.java:1496)
         at java.io.ObjectInputStream.readOrdinaryObject 
(ObjectInputStream.java:1732)
         at java.io.ObjectInputStream.readObject0 
(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.defaultReadFields 
(ObjectInputStream.java:1945)
         at java.io.ObjectInputStream.readSerialData 
(ObjectInputStream.java:1869)
         at java.io.ObjectInputStream.readOrdinaryObject 
(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0 
(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.defaultReadFields 
(ObjectInputStream.java:1945)
         at java.io.ObjectInputStream.readSerialData 
(ObjectInputStream.java:1869)
         at java.io.ObjectInputStream.readOrdinaryObject 
(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0 
(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readObject 
(ObjectInputStream.java:351)
         at  
org.apache.activemq.command.ActiveMQObjectMessage.getObject 
(ActiveMQObjectMessage.java:166)
         ... 10 more

Should I attach my servicemix.xml?

Kit

Re: JMS(JCA)Flow ERROR...

Posted by Bruce Snyder <br...@gmail.com>.
On 5/1/07, Kit Plummer <ch...@raytheon.com> wrote:
> Getting this a lot when running a few components on the latest apache-
> servicemix-fuse release:
>
> ERROR - JMSFlow                        - 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 =

My experience with this error is that it's usually not an issue with a
direct dependency but a transitive dependency. So you need to figure
out which direct deps have a dep on QName and therefore include their
own version. Then I had to specify explicit excludes elements to make
sure there was no clash.

Bruce
-- 
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

Apache Geronimo - http://geronimo.apache.org/
Apache ActiveMQ - http://activemq.org/
Apache ServiceMix - http://servicemix.org/
Castor - http://castor.org/

Re: JMS(JCA)Flow ERROR...

Posted by Guillaume Nodet <gn...@gmail.com>.
Thanks for reporting the solution.
This is a direct consequence of
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6267224.

On 5/4/07, Kit Plummer <ch...@raytheon.com> wrote:
>
> For the sake of closing this thread out ...
>
> It turned out to be an issue with Sun's 1.5.0_06 VM talking to a Sun
> 1.5.0_07+ (including 1.6.0) VM.  We were able to get two machines
> with 1.5.0_06 to talk to each other but that's it.  Maybe a bug in
> the 1.5.0_06 release?  We also tested our stuff between a Sun 1.5.0_07
> + set up and a IBM 1.5.0 VM.
>
> Thanks guys.
>
> Kit
>
> On May 3, 2007, at 7:10 AM, Kit Plummer wrote:
>
> > Gert,
> >
> > I did check this, and they were different.  One was 1.5x and the
> > other 1.6.  But, that's not the problem.  I think I might know what
> > the problem actually is though.  We have implemented a "fancy"
> > handshake around the NoB stuff - which including the dynamic
> > creation of a jmsReceiver based on a Spring JmsTemplate.  Our build
> > environment accommodates the transitive dependency for spring-jms.
> > I think the spring-jms library's JmsReceiver is the problem.  We're
> > using the servicemix-jms component for the rest of the stuff now,
> > this is the only legacy link.  I just need to figure out how to use
> > the servicemix-jms component from within code now.
> >
> > Kit
> >
> > On May 3, 2007, at 12:50 AM, Gert Vanthienen wrote:
> >
> >> Kit,
> >>
> >> Since the error happens once the Network of Brokers connections is
> >> made, this would suggest some kind of difference between both
> >> nodes you're connecting.  Have you checked that both nodes are
> >> using the same JVM version?
> >>
> >> Gert
> >>
> >> Kit Plummer wrote:
> >>> Might be a stretch here but I found a transitive dependency for
> >>> geronimo-qname_1.1_spec out of the maven report.  Could this may
> >>> be it?  How would I exclude this?
> >>>
> >>> On May 2, 2007, at 11:06 AM, Kit Plummer wrote:
> >>>
> >>>> Ok.  I've narrowed that error happening once the Network of
> >>>> Brokers connection is made...
> >>>>
> >>>> Kit
> >>>>
> >>>> On May 2, 2007, at 10:33 AM, Kit Plummer wrote:
> >>>>
> >>>>> There is only one SM instance...at least I'm pretty sure of
> >>>>> that.  I will verify.  We are linking two nodes together...but,
> >>>>> we see this message way before the connection is made.
> >>>>>
> >>>>>
> >>>>> On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:
> >>>>>
> >>>>>> I think this is more a mismatch between several ServiceMix
> >>>>>> instances
> >>>>>> running on different JVMs or in different environments (with
> >>>>>> different
> >>>>>> QName classes).  This is certainly not a configuration problem.
> >>>>>>
> >>>>>> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
> >>>>>>>
> >>>>>>> Hey Guys.  Thanks for the effort.
> >>>>>>>
> >>>>>>> I did realize that there was a mismatch in versions between
> >>>>>>> what we
> >>>>>>> were compiling against, and what was in the distro.  Thinking
> >>>>>>> this
> >>>>>>> might be the problem, I having everything matching in our
> >>>>>>> pom.xml.
> >>>>>>>
> >>>>>>> But, the problem persists.  I'm having trouble mapping it to a
> >>>>>>> specific message, but think it has to do with a
> >>>>>>> JmsInUsingJCABinding.
> >>>>>>>
> >>>>>>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
> >>>>>>>                                                 service="tsb:
> >>>>>>> TSB.LI.Caps.Receiver"
> >>>>>>>
> >>>>>>>
> >>>>>>> failIfNoDestinationEndpoint="false">
> >>>>>>>                                           <sm:component><bean
> >>>>>>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding
> >>>>>>> ">
> >>>>>>>
> >>>>>>>                                             <property
> >>>>>>> name="jcaContainer"
> >>>>>>> ref="jencks"/>
> >>>>>>>
> >>>>>>>                                             <property
> >>>>>>> name="activationSpec">
> >>>>>>>                                               <bean class="
> >>>>>>> org.apache.activemq.ra.ActiveMQActivationSpec">
> >>>>>>>                                                 <property
> >>>>>>> name="destination" value="TSB.LI.Caps"/>
> >>>>>>>                                                 <property
> >>>>>>> name="destinationType" value="javax.jms.Topic"/>
> >>>>>>>                                               </bean>
> >>>>>>>                                             </property>
> >>>>>>>                                           </bean></sm:component>
> >>>>>>>                                         </sm:activationSpec>
> >>>>>>>
> >>>>>>> Attached is the config.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
> >>>>>>>
> >>>>>>> > Finding all the classes defining the QName class can be done
> >>>>>>> > using ClassLoader.getResources().  Then one could load then
> >>>>>>> and
> >>>>>>> > retrieve the serial UID using introspection i guess ...
> >>>>>>> >
> >>>>>>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
> >>>>>>> >>
> >>>>>>> >> Guillaume,
> >>>>>>> >>
> >>>>>>> >> A quick "Open Type..." in Eclipse also shows me that a lot
> >>>>>>> of the jar
> >>>>>>> >> files we use in ServiceMix include their own
> >>>>>>> >> javax.xml.namespace.QName,
> >>>>>>> >> so I suppose it wouldn't be that easy to ensure that only
> >>>>>>> a single
> >>>>>>> >> variant of the class gets loaded at runtime either.  Do
> >>>>>>> you know
> >>>>>>> >> of any
> >>>>>>> >> tool to quickly examine the serialVersionUIDs of these
> >>>>>>> classes in
> >>>>>>> >> order
> >>>>>>> >> to get this user's problem solved?
> >>>>>>> >>
> >>>>>>> >> Gert
> >>>>>>> >>
> >>>>>>> >> Guillaume Nodet wrote:
> >>>>>>> >> > I think one problem may be in the serialization of the
> >>>>>>> >> MessageExchange
> >>>>>>> >> > when
> >>>>>>> >> > using the JMS / JCA flows.  The exchange contains QName
> >>>>>>> (for target
> >>>>>>> >> > service
> >>>>>>> >> > and interface) and may also contain other QNames (soap
> >>>>>>> headers are
> >>>>>>> >> > stored in
> >>>>>>> >> > a map indexed by QNames).
> >>>>>>> >> > We can easily change the first ones to use plain strings
> >>>>>>> ({xxx}yy
> >>>>>>> >> > format),
> >>>>>>> >> > but
> >>>>>>> >> > it will be much more difficult for the ones we do not
> >>>>>>> control.
> >>>>>>> >> >
> >>>>>>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be>
> >>>>>>> wrote:
> >>>>>>> >> >>
> >>>>>>> >> >> Kit,
> >>>>>>> >> >>
> >>>>>>> >> >> Apparently, you are using multiple (and different)
> >>>>>>> versions of the
> >>>>>>> >> QName
> >>>>>>> >> >> class.  If this solution is running on multiple JVMs,
> >>>>>>> ensure that
> >>>>>>> >> >> they're all of the same version.  If it isn't, could
> >>>>>>> you send
> >>>>>>> >> us the
> >>>>>>> >> >> servicemix.xml file?  Do you know which are the failing
> >>>>>>> >> services, as
> >>>>>>> >> >> this might help us pinpoint the problem?
> >>>>>>> >> >>
> >>>>>>> >> >> Gert
> >>>>>>> >> >>
> >>>>>>> >> >> Kit Plummer wrote:
> >>>>>>> >> >> > Getting this a lot when running a few components on
> >>>>>>> the latest
> >>>>>>> >> >> > apache-servicemix-fuse release:
> >>>>>>> >> >> >
> >>>>>>> >> >> > ERROR - JMSFlow                        - 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 =
> >>>>>>> >> 4418622981026545151,
> >>>>>>> >> >> > local class serialVersionUID = -9120448754896609940
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
> >>>>>>> >> >> JMSExceptionSupport.java:33)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> >>>>>>> >> >> ActiveMQObjectMessage.java:172)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
> >>>>>>> >> (JMSFlow.java
> >>>>>>> >> >> :281)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
> >>>>>>> >> >> ActiveMQMessageConsumer.java:841)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
> >>>>>>> >> >> ActiveMQSessionExecutor.java:96)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
> >>>>>>> >> >> ActiveMQSessionExecutor.java:165)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
> >>>>>>> >> >> PooledTaskRunner.java:111)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
> >>>>>>> >> >> PooledTaskRunner.java:26)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
> >>>>>>> >> (PooledTaskRunner.java
> >>>>>>> >> >> :44)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >>
> >>>>>>> >>
> >>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecuto
> >>>>>>> r
> >>>>>>> >> $Worker.runTask
> >>>>>>> >> >>
> >>>>>>> >> >> (ThreadPoolExecutor.java:665)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >>
> >>>>>>> >>
> >>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecuto
> >>>>>>> r
> >>>>>>> >> $Worker.run
> >>>>>>> >> >>
> >>>>>>> >> >> (ThreadPoolExecutor.java:690)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         at java.lang.Thread.run(Thread.java:619)
> >>>>>>> >> >> > Caused by: java.io.InvalidClassException:
> >>>>>>> >> javax.xml.namespace.QName;
> >>>>>>> >> >> > local class incompatible: stream classdesc
> >>>>>>> serialVersionUID =
> >>>>>>> >> >> > 4418622981026545151, local class serialVersionUID =
> >>>>>>> >> >> -9120448754896609940
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectStreamClass.initNonProxy
> >>>>>>> (ObjectStreamClass.java:
> >>>>>>> >> 562)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >> java.io.ObjectInputStream.readNonProxyDesc
> >>>>>>> >> (ObjectInputStream.java:1583)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readClassDesc
> >>>>>>> >> (ObjectInputStream.java:1496)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
> >>>>>>> >> (ObjectInputStream.java
> >>>>>>> >> >> :1732)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readObject0
> >>>>>>> (ObjectInputStream.java:
> >>>>>>> >> 1329)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >> java.io.ObjectInputStream.defaultReadFields
> >>>>>>> (ObjectInputStream.java
> >>>>>>> >> :1945)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readSerialData
> >>>>>>> >> (ObjectInputStream.java:1869)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
> >>>>>>> >> (ObjectInputStream.java
> >>>>>>> >> >> :1753)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readObject0
> >>>>>>> (ObjectInputStream.java:
> >>>>>>> >> 1329)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> >> >> java.io.ObjectInputStream.defaultReadFields
> >>>>>>> (ObjectInputStream.java
> >>>>>>> >> :1945)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readSerialData
> >>>>>>> >> (ObjectInputStream.java:1869)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
> >>>>>>> >> (ObjectInputStream.java
> >>>>>>> >> >> :1753)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readObject0
> >>>>>>> (ObjectInputStream.java:
> >>>>>>> >> 1329)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> > java.io.ObjectInputStream.readObject
> >>>>>>> (ObjectInputStream.java:351)
> >>>>>>> >> >> >         at
> >>>>>>> >> >> >
> >>>>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> >>>>>>> >> >> ActiveMQObjectMessage.java:166)
> >>>>>>> >> >> >
> >>>>>>> >> >> >         ... 10 more
> >>>>>>> >> >> >
> >>>>>>> >> >> > Should I attach my servicemix.xml?
> >>>>>>> >> >> >
> >>>>>>> >> >> > Kit
> >>>>>>> >> >> >
> >>>>>>> >> >>
> >>>>>>> >> >>
> >>>>>>> >> >
> >>>>>>> >> >
> >>>>>>> >>
> >>>>>>> >>
> >>>>>>> >
> >>>>>>> >
> >>>>>>> > --
> >>>>>>> > Cheers,
> >>>>>>> > Guillaume Nodet
> >>>>>>> > ------------------------
> >>>>>>> > Principal Engineer, IONA
> >>>>>>> > Blog: http://gnodet.blogspot.com/
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --Cheers,
> >>>>>> Guillaume Nodet
> >>>>>> ------------------------
> >>>>>> Principal Engineer, IONA
> >>>>>> Blog: http://gnodet.blogspot.com/
> >>>>>
> >>>>
> >>>
> >>
> >
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/

Re: JMS(JCA)Flow ERROR...

Posted by Kit Plummer <ch...@raytheon.com>.
For the sake of closing this thread out ...

It turned out to be an issue with Sun's 1.5.0_06 VM talking to a Sun  
1.5.0_07+ (including 1.6.0) VM.  We were able to get two machines  
with 1.5.0_06 to talk to each other but that's it.  Maybe a bug in  
the 1.5.0_06 release?  We also tested our stuff between a Sun 1.5.0_07 
+ set up and a IBM 1.5.0 VM.

Thanks guys.

Kit

On May 3, 2007, at 7:10 AM, Kit Plummer wrote:

> Gert,
>
> I did check this, and they were different.  One was 1.5x and the  
> other 1.6.  But, that's not the problem.  I think I might know what  
> the problem actually is though.  We have implemented a "fancy"  
> handshake around the NoB stuff - which including the dynamic  
> creation of a jmsReceiver based on a Spring JmsTemplate.  Our build  
> environment accommodates the transitive dependency for spring-jms.   
> I think the spring-jms library's JmsReceiver is the problem.  We're  
> using the servicemix-jms component for the rest of the stuff now,  
> this is the only legacy link.  I just need to figure out how to use  
> the servicemix-jms component from within code now.
>
> Kit
>
> On May 3, 2007, at 12:50 AM, Gert Vanthienen wrote:
>
>> Kit,
>>
>> Since the error happens once the Network of Brokers connections is  
>> made, this would suggest some kind of difference between both  
>> nodes you're connecting.  Have you checked that both nodes are  
>> using the same JVM version?
>>
>> Gert
>>
>> Kit Plummer wrote:
>>> Might be a stretch here but I found a transitive dependency for  
>>> geronimo-qname_1.1_spec out of the maven report.  Could this may  
>>> be it?  How would I exclude this?
>>>
>>> On May 2, 2007, at 11:06 AM, Kit Plummer wrote:
>>>
>>>> Ok.  I've narrowed that error happening once the Network of  
>>>> Brokers connection is made...
>>>>
>>>> Kit
>>>>
>>>> On May 2, 2007, at 10:33 AM, Kit Plummer wrote:
>>>>
>>>>> There is only one SM instance...at least I'm pretty sure of  
>>>>> that.  I will verify.  We are linking two nodes together...but,  
>>>>> we see this message way before the connection is made.
>>>>>
>>>>>
>>>>> On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:
>>>>>
>>>>>> I think this is more a mismatch between several ServiceMix  
>>>>>> instances
>>>>>> running on different JVMs or in different environments (with  
>>>>>> different
>>>>>> QName classes).  This is certainly not a configuration problem.
>>>>>>
>>>>>> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>>>>>>>
>>>>>>> Hey Guys.  Thanks for the effort.
>>>>>>>
>>>>>>> I did realize that there was a mismatch in versions between  
>>>>>>> what we
>>>>>>> were compiling against, and what was in the distro.  Thinking  
>>>>>>> this
>>>>>>> might be the problem, I having everything matching in our  
>>>>>>> pom.xml.
>>>>>>>
>>>>>>> But, the problem persists.  I'm having trouble mapping it to a
>>>>>>> specific message, but think it has to do with a  
>>>>>>> JmsInUsingJCABinding.
>>>>>>>
>>>>>>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>>>>>>>                                                 service="tsb:
>>>>>>> TSB.LI.Caps.Receiver"
>>>>>>>
>>>>>>>                                                  
>>>>>>> failIfNoDestinationEndpoint="false">
>>>>>>>                                           <sm:component><bean
>>>>>>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding 
>>>>>>> ">
>>>>>>>
>>>>>>>                                             <property  
>>>>>>> name="jcaContainer"
>>>>>>> ref="jencks"/>
>>>>>>>
>>>>>>>                                             <property
>>>>>>> name="activationSpec">
>>>>>>>                                               <bean class="
>>>>>>> org.apache.activemq.ra.ActiveMQActivationSpec">
>>>>>>>                                                 <property
>>>>>>> name="destination" value="TSB.LI.Caps"/>
>>>>>>>                                                 <property
>>>>>>> name="destinationType" value="javax.jms.Topic"/>
>>>>>>>                                               </bean>
>>>>>>>                                             </property>
>>>>>>>                                           </bean></sm:component>
>>>>>>>                                         </sm:activationSpec>
>>>>>>>
>>>>>>> Attached is the config.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>>>>>>>
>>>>>>> > Finding all the classes defining the QName class can be done
>>>>>>> > using ClassLoader.getResources().  Then one could load then  
>>>>>>> and
>>>>>>> > retrieve the serial UID using introspection i guess ...
>>>>>>> >
>>>>>>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>>>>> >>
>>>>>>> >> Guillaume,
>>>>>>> >>
>>>>>>> >> A quick "Open Type..." in Eclipse also shows me that a lot  
>>>>>>> of the jar
>>>>>>> >> files we use in ServiceMix include their own
>>>>>>> >> javax.xml.namespace.QName,
>>>>>>> >> so I suppose it wouldn't be that easy to ensure that only  
>>>>>>> a single
>>>>>>> >> variant of the class gets loaded at runtime either.  Do  
>>>>>>> you know
>>>>>>> >> of any
>>>>>>> >> tool to quickly examine the serialVersionUIDs of these  
>>>>>>> classes in
>>>>>>> >> order
>>>>>>> >> to get this user's problem solved?
>>>>>>> >>
>>>>>>> >> Gert
>>>>>>> >>
>>>>>>> >> Guillaume Nodet wrote:
>>>>>>> >> > I think one problem may be in the serialization of the
>>>>>>> >> MessageExchange
>>>>>>> >> > when
>>>>>>> >> > using the JMS / JCA flows.  The exchange contains QName  
>>>>>>> (for target
>>>>>>> >> > service
>>>>>>> >> > and interface) and may also contain other QNames (soap  
>>>>>>> headers are
>>>>>>> >> > stored in
>>>>>>> >> > a map indexed by QNames).
>>>>>>> >> > We can easily change the first ones to use plain strings  
>>>>>>> ({xxx}yy
>>>>>>> >> > format),
>>>>>>> >> > but
>>>>>>> >> > it will be much more difficult for the ones we do not  
>>>>>>> control.
>>>>>>> >> >
>>>>>>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be>  
>>>>>>> wrote:
>>>>>>> >> >>
>>>>>>> >> >> Kit,
>>>>>>> >> >>
>>>>>>> >> >> Apparently, you are using multiple (and different)  
>>>>>>> versions of the
>>>>>>> >> QName
>>>>>>> >> >> class.  If this solution is running on multiple JVMs,  
>>>>>>> ensure that
>>>>>>> >> >> they're all of the same version.  If it isn't, could  
>>>>>>> you send
>>>>>>> >> us the
>>>>>>> >> >> servicemix.xml file?  Do you know which are the failing
>>>>>>> >> services, as
>>>>>>> >> >> this might help us pinpoint the problem?
>>>>>>> >> >>
>>>>>>> >> >> Gert
>>>>>>> >> >>
>>>>>>> >> >> Kit Plummer wrote:
>>>>>>> >> >> > Getting this a lot when running a few components on  
>>>>>>> the latest
>>>>>>> >> >> > apache-servicemix-fuse release:
>>>>>>> >> >> >
>>>>>>> >> >> > ERROR - JMSFlow                        - 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 =
>>>>>>> >> 4418622981026545151,
>>>>>>> >> >> > local class serialVersionUID = -9120448754896609940
>>>>>>> >> >> >         at
>>>>>>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
>>>>>>> >> >> JMSExceptionSupport.java:33)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> >  
>>>>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>>>>> >> >> ActiveMQObjectMessage.java:172)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
>>>>>>> >> (JMSFlow.java
>>>>>>> >> >> :281)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>>>>>>> >> >> ActiveMQMessageConsumer.java:841)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>>>>>>> >> >> ActiveMQSessionExecutor.java:96)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>>>>>>> >> >> ActiveMQSessionExecutor.java:165)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>>>>>>> >> >> PooledTaskRunner.java:111)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>>>>>>> >> >> PooledTaskRunner.java:26)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
>>>>>>> >> (PooledTaskRunner.java
>>>>>>> >> >> :44)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >>
>>>>>>> >>  
>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecuto 
>>>>>>> r
>>>>>>> >> $Worker.runTask
>>>>>>> >> >>
>>>>>>> >> >> (ThreadPoolExecutor.java:665)
>>>>>>> >> >> >
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >>
>>>>>>> >>  
>>>>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecuto 
>>>>>>> r
>>>>>>> >> $Worker.run
>>>>>>> >> >>
>>>>>>> >> >> (ThreadPoolExecutor.java:690)
>>>>>>> >> >> >
>>>>>>> >> >> >         at java.lang.Thread.run(Thread.java:619)
>>>>>>> >> >> > Caused by: java.io.InvalidClassException:
>>>>>>> >> javax.xml.namespace.QName;
>>>>>>> >> >> > local class incompatible: stream classdesc  
>>>>>>> serialVersionUID =
>>>>>>> >> >> > 4418622981026545151, local class serialVersionUID =
>>>>>>> >> >> -9120448754896609940
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectStreamClass.initNonProxy 
>>>>>>> (ObjectStreamClass.java:
>>>>>>> >> 562)
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >> java.io.ObjectInputStream.readNonProxyDesc
>>>>>>> >> (ObjectInputStream.java:1583)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readClassDesc
>>>>>>> >> (ObjectInputStream.java:1496)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>>>> >> (ObjectInputStream.java
>>>>>>> >> >> :1732)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>>>>> (ObjectInputStream.java:
>>>>>>> >> 1329)
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>>>>>> (ObjectInputStream.java
>>>>>>> >> :1945)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>>>>> >> (ObjectInputStream.java:1869)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>>>> >> (ObjectInputStream.java
>>>>>>> >> >> :1753)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>>>>> (ObjectInputStream.java:
>>>>>>> >> 1329)
>>>>>>> >> >> >         at
>>>>>>> >> >> >
>>>>>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>>>>>> (ObjectInputStream.java
>>>>>>> >> :1945)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>>>>> >> (ObjectInputStream.java:1869)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>>>> >> (ObjectInputStream.java
>>>>>>> >> >> :1753)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>>>>> (ObjectInputStream.java:
>>>>>>> >> 1329)
>>>>>>> >> >> >         at
>>>>>>> >> >> > java.io.ObjectInputStream.readObject 
>>>>>>> (ObjectInputStream.java:351)
>>>>>>> >> >> >         at
>>>>>>> >> >> >  
>>>>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>>>>> >> >> ActiveMQObjectMessage.java:166)
>>>>>>> >> >> >
>>>>>>> >> >> >         ... 10 more
>>>>>>> >> >> >
>>>>>>> >> >> > Should I attach my servicemix.xml?
>>>>>>> >> >> >
>>>>>>> >> >> > Kit
>>>>>>> >> >> >
>>>>>>> >> >>
>>>>>>> >> >>
>>>>>>> >> >
>>>>>>> >> >
>>>>>>> >>
>>>>>>> >>
>>>>>>> >
>>>>>>> >
>>>>>>> > --
>>>>>>> > Cheers,
>>>>>>> > Guillaume Nodet
>>>>>>> > ------------------------
>>>>>>> > Principal Engineer, IONA
>>>>>>> > Blog: http://gnodet.blogspot.com/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --Cheers,
>>>>>> Guillaume Nodet
>>>>>> ------------------------
>>>>>> Principal Engineer, IONA
>>>>>> Blog: http://gnodet.blogspot.com/
>>>>>
>>>>
>>>
>>
>


Re: JMS(JCA)Flow ERROR...

Posted by Kit Plummer <ch...@raytheon.com>.
Gert,

I did check this, and they were different.  One was 1.5x and the  
other 1.6.  But, that's not the problem.  I think I might know what  
the problem actually is though.  We have implemented a "fancy"  
handshake around the NoB stuff - which including the dynamic creation  
of a jmsReceiver based on a Spring JmsTemplate.  Our build  
environment accommodates the transitive dependency for spring-jms.  I  
think the spring-jms library's JmsReceiver is the problem.  We're  
using the servicemix-jms component for the rest of the stuff now,  
this is the only legacy link.  I just need to figure out how to use  
the servicemix-jms component from within code now.

Kit

On May 3, 2007, at 12:50 AM, Gert Vanthienen wrote:

> Kit,
>
> Since the error happens once the Network of Brokers connections is  
> made, this would suggest some kind of difference between both nodes  
> you're connecting.  Have you checked that both nodes are using the  
> same JVM version?
>
> Gert
>
> Kit Plummer wrote:
>> Might be a stretch here but I found a transitive dependency for  
>> geronimo-qname_1.1_spec out of the maven report.  Could this may  
>> be it?  How would I exclude this?
>>
>> On May 2, 2007, at 11:06 AM, Kit Plummer wrote:
>>
>>> Ok.  I've narrowed that error happening once the Network of  
>>> Brokers connection is made...
>>>
>>> Kit
>>>
>>> On May 2, 2007, at 10:33 AM, Kit Plummer wrote:
>>>
>>>> There is only one SM instance...at least I'm pretty sure of  
>>>> that.  I will verify.  We are linking two nodes together...but,  
>>>> we see this message way before the connection is made.
>>>>
>>>>
>>>> On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:
>>>>
>>>>> I think this is more a mismatch between several ServiceMix  
>>>>> instances
>>>>> running on different JVMs or in different environments (with  
>>>>> different
>>>>> QName classes).  This is certainly not a configuration problem.
>>>>>
>>>>> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>>>>>>
>>>>>> Hey Guys.  Thanks for the effort.
>>>>>>
>>>>>> I did realize that there was a mismatch in versions between  
>>>>>> what we
>>>>>> were compiling against, and what was in the distro.  Thinking  
>>>>>> this
>>>>>> might be the problem, I having everything matching in our  
>>>>>> pom.xml.
>>>>>>
>>>>>> But, the problem persists.  I'm having trouble mapping it to a
>>>>>> specific message, but think it has to do with a  
>>>>>> JmsInUsingJCABinding.
>>>>>>
>>>>>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>>>>>>                                                 service="tsb:
>>>>>> TSB.LI.Caps.Receiver"
>>>>>>
>>>>>>                                                  
>>>>>> failIfNoDestinationEndpoint="false">
>>>>>>                                           <sm:component><bean
>>>>>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding" 
>>>>>> >
>>>>>>
>>>>>>                                             <property  
>>>>>> name="jcaContainer"
>>>>>> ref="jencks"/>
>>>>>>
>>>>>>                                             <property
>>>>>> name="activationSpec">
>>>>>>                                               <bean class="
>>>>>> org.apache.activemq.ra.ActiveMQActivationSpec">
>>>>>>                                                 <property
>>>>>> name="destination" value="TSB.LI.Caps"/>
>>>>>>                                                 <property
>>>>>> name="destinationType" value="javax.jms.Topic"/>
>>>>>>                                               </bean>
>>>>>>                                             </property>
>>>>>>                                           </bean></sm:component>
>>>>>>                                         </sm:activationSpec>
>>>>>>
>>>>>> Attached is the config.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>>>>>>
>>>>>> > Finding all the classes defining the QName class can be done
>>>>>> > using ClassLoader.getResources().  Then one could load then and
>>>>>> > retrieve the serial UID using introspection i guess ...
>>>>>> >
>>>>>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>>>> >>
>>>>>> >> Guillaume,
>>>>>> >>
>>>>>> >> A quick "Open Type..." in Eclipse also shows me that a lot  
>>>>>> of the jar
>>>>>> >> files we use in ServiceMix include their own
>>>>>> >> javax.xml.namespace.QName,
>>>>>> >> so I suppose it wouldn't be that easy to ensure that only a  
>>>>>> single
>>>>>> >> variant of the class gets loaded at runtime either.  Do you  
>>>>>> know
>>>>>> >> of any
>>>>>> >> tool to quickly examine the serialVersionUIDs of these  
>>>>>> classes in
>>>>>> >> order
>>>>>> >> to get this user's problem solved?
>>>>>> >>
>>>>>> >> Gert
>>>>>> >>
>>>>>> >> Guillaume Nodet wrote:
>>>>>> >> > I think one problem may be in the serialization of the
>>>>>> >> MessageExchange
>>>>>> >> > when
>>>>>> >> > using the JMS / JCA flows.  The exchange contains QName  
>>>>>> (for target
>>>>>> >> > service
>>>>>> >> > and interface) and may also contain other QNames (soap  
>>>>>> headers are
>>>>>> >> > stored in
>>>>>> >> > a map indexed by QNames).
>>>>>> >> > We can easily change the first ones to use plain strings  
>>>>>> ({xxx}yy
>>>>>> >> > format),
>>>>>> >> > but
>>>>>> >> > it will be much more difficult for the ones we do not  
>>>>>> control.
>>>>>> >> >
>>>>>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be>  
>>>>>> wrote:
>>>>>> >> >>
>>>>>> >> >> Kit,
>>>>>> >> >>
>>>>>> >> >> Apparently, you are using multiple (and different)  
>>>>>> versions of the
>>>>>> >> QName
>>>>>> >> >> class.  If this solution is running on multiple JVMs,  
>>>>>> ensure that
>>>>>> >> >> they're all of the same version.  If it isn't, could you  
>>>>>> send
>>>>>> >> us the
>>>>>> >> >> servicemix.xml file?  Do you know which are the failing
>>>>>> >> services, as
>>>>>> >> >> this might help us pinpoint the problem?
>>>>>> >> >>
>>>>>> >> >> Gert
>>>>>> >> >>
>>>>>> >> >> Kit Plummer wrote:
>>>>>> >> >> > Getting this a lot when running a few components on  
>>>>>> the latest
>>>>>> >> >> > apache-servicemix-fuse release:
>>>>>> >> >> >
>>>>>> >> >> > ERROR - JMSFlow                        - 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 =
>>>>>> >> 4418622981026545151,
>>>>>> >> >> > local class serialVersionUID = -9120448754896609940
>>>>>> >> >> >         at
>>>>>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
>>>>>> >> >> JMSExceptionSupport.java:33)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> >  
>>>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>>>> >> >> ActiveMQObjectMessage.java:172)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> >
>>>>>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
>>>>>> >> (JMSFlow.java
>>>>>> >> >> :281)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>>>>>> >> >> ActiveMQMessageConsumer.java:841)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>>>>>> >> >> ActiveMQSessionExecutor.java:96)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>>>>>> >> >> ActiveMQSessionExecutor.java:165)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>>>>>> >> >> PooledTaskRunner.java:111)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>>>>>> >> >> PooledTaskRunner.java:26)
>>>>>> >> >> >
>>>>>> >> >> >         at
>>>>>> >> >> >
>>>>>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
>>>>>> >> (PooledTaskRunner.java
>>>>>> >> >> :44)
>>>>>> >> >> >
>>>>>> >> >> >         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(Thread.java:619)
>>>>>> >> >> > Caused by: java.io.InvalidClassException:
>>>>>> >> javax.xml.namespace.QName;
>>>>>> >> >> > local class incompatible: stream classdesc  
>>>>>> serialVersionUID =
>>>>>> >> >> > 4418622981026545151, local class serialVersionUID =
>>>>>> >> >> -9120448754896609940
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectStreamClass.initNonProxy 
>>>>>> (ObjectStreamClass.java:
>>>>>> >> 562)
>>>>>> >> >> >         at
>>>>>> >> >> >
>>>>>> >> >> java.io.ObjectInputStream.readNonProxyDesc
>>>>>> >> (ObjectInputStream.java:1583)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readClassDesc
>>>>>> >> (ObjectInputStream.java:1496)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>>> >> (ObjectInputStream.java
>>>>>> >> >> :1732)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>>>> (ObjectInputStream.java:
>>>>>> >> 1329)
>>>>>> >> >> >         at
>>>>>> >> >> >
>>>>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>>>>> (ObjectInputStream.java
>>>>>> >> :1945)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>>>> >> (ObjectInputStream.java:1869)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>>> >> (ObjectInputStream.java
>>>>>> >> >> :1753)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>>>> (ObjectInputStream.java:
>>>>>> >> 1329)
>>>>>> >> >> >         at
>>>>>> >> >> >
>>>>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>>>>> (ObjectInputStream.java
>>>>>> >> :1945)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>>>> >> (ObjectInputStream.java:1869)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>>> >> (ObjectInputStream.java
>>>>>> >> >> :1753)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>>>> (ObjectInputStream.java:
>>>>>> >> 1329)
>>>>>> >> >> >         at
>>>>>> >> >> > java.io.ObjectInputStream.readObject 
>>>>>> (ObjectInputStream.java:351)
>>>>>> >> >> >         at
>>>>>> >> >> >  
>>>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>>>> >> >> ActiveMQObjectMessage.java:166)
>>>>>> >> >> >
>>>>>> >> >> >         ... 10 more
>>>>>> >> >> >
>>>>>> >> >> > Should I attach my servicemix.xml?
>>>>>> >> >> >
>>>>>> >> >> > Kit
>>>>>> >> >> >
>>>>>> >> >>
>>>>>> >> >>
>>>>>> >> >
>>>>>> >> >
>>>>>> >>
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > Cheers,
>>>>>> > Guillaume Nodet
>>>>>> > ------------------------
>>>>>> > Principal Engineer, IONA
>>>>>> > Blog: http://gnodet.blogspot.com/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --Cheers,
>>>>> Guillaume Nodet
>>>>> ------------------------
>>>>> Principal Engineer, IONA
>>>>> Blog: http://gnodet.blogspot.com/
>>>>
>>>
>>
>


Re: JMS(JCA)Flow ERROR...

Posted by Gert Vanthienen <ge...@skynet.be>.
Kit,

Since the error happens once the Network of Brokers connections is made, 
this would suggest some kind of difference between both nodes you're 
connecting.  Have you checked that both nodes are using the same JVM 
version?

Gert

Kit Plummer wrote:
> Might be a stretch here but I found a transitive dependency for 
> geronimo-qname_1.1_spec out of the maven report.  Could this may be 
> it?  How would I exclude this?
>
> On May 2, 2007, at 11:06 AM, Kit Plummer wrote:
>
>> Ok.  I've narrowed that error happening once the Network of Brokers 
>> connection is made...
>>
>> Kit
>>
>> On May 2, 2007, at 10:33 AM, Kit Plummer wrote:
>>
>>> There is only one SM instance...at least I'm pretty sure of that.  I 
>>> will verify.  We are linking two nodes together...but, we see this 
>>> message way before the connection is made.
>>>
>>>
>>> On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:
>>>
>>>> I think this is more a mismatch between several ServiceMix instances
>>>> running on different JVMs or in different environments (with different
>>>> QName classes).  This is certainly not a configuration problem.
>>>>
>>>> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>>>>>
>>>>> Hey Guys.  Thanks for the effort.
>>>>>
>>>>> I did realize that there was a mismatch in versions between what we
>>>>> were compiling against, and what was in the distro.  Thinking this
>>>>> might be the problem, I having everything matching in our pom.xml.
>>>>>
>>>>> But, the problem persists.  I'm having trouble mapping it to a
>>>>> specific message, but think it has to do with a JmsInUsingJCABinding.
>>>>>
>>>>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>>>>>                                                 service="tsb:
>>>>> TSB.LI.Caps.Receiver"
>>>>>
>>>>>                                                 
>>>>> failIfNoDestinationEndpoint="false">
>>>>>                                           <sm:component><bean
>>>>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>>>>>
>>>>>                                             <property 
>>>>> name="jcaContainer"
>>>>> ref="jencks"/>
>>>>>
>>>>>                                             <property
>>>>> name="activationSpec">
>>>>>                                               <bean class="
>>>>> org.apache.activemq.ra.ActiveMQActivationSpec">
>>>>>                                                 <property
>>>>> name="destination" value="TSB.LI.Caps"/>
>>>>>                                                 <property
>>>>> name="destinationType" value="javax.jms.Topic"/>
>>>>>                                               </bean>
>>>>>                                             </property>
>>>>>                                           </bean></sm:component>
>>>>>                                         </sm:activationSpec>
>>>>>
>>>>> Attached is the config.
>>>>>
>>>>>
>>>>>
>>>>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>>>>>
>>>>> > Finding all the classes defining the QName class can be done
>>>>> > using ClassLoader.getResources().  Then one could load then and
>>>>> > retrieve the serial UID using introspection i guess ...
>>>>> >
>>>>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>>> >>
>>>>> >> Guillaume,
>>>>> >>
>>>>> >> A quick "Open Type..." in Eclipse also shows me that a lot of 
>>>>> the jar
>>>>> >> files we use in ServiceMix include their own
>>>>> >> javax.xml.namespace.QName,
>>>>> >> so I suppose it wouldn't be that easy to ensure that only a single
>>>>> >> variant of the class gets loaded at runtime either.  Do you know
>>>>> >> of any
>>>>> >> tool to quickly examine the serialVersionUIDs of these classes in
>>>>> >> order
>>>>> >> to get this user's problem solved?
>>>>> >>
>>>>> >> Gert
>>>>> >>
>>>>> >> Guillaume Nodet wrote:
>>>>> >> > I think one problem may be in the serialization of the
>>>>> >> MessageExchange
>>>>> >> > when
>>>>> >> > using the JMS / JCA flows.  The exchange contains QName (for 
>>>>> target
>>>>> >> > service
>>>>> >> > and interface) and may also contain other QNames (soap 
>>>>> headers are
>>>>> >> > stored in
>>>>> >> > a map indexed by QNames).
>>>>> >> > We can easily change the first ones to use plain strings 
>>>>> ({xxx}yy
>>>>> >> > format),
>>>>> >> > but
>>>>> >> > it will be much more difficult for the ones we do not control.
>>>>> >> >
>>>>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>>> >> >>
>>>>> >> >> Kit,
>>>>> >> >>
>>>>> >> >> Apparently, you are using multiple (and different) versions 
>>>>> of the
>>>>> >> QName
>>>>> >> >> class.  If this solution is running on multiple JVMs, ensure 
>>>>> that
>>>>> >> >> they're all of the same version.  If it isn't, could you send
>>>>> >> us the
>>>>> >> >> servicemix.xml file?  Do you know which are the failing
>>>>> >> services, as
>>>>> >> >> this might help us pinpoint the problem?
>>>>> >> >>
>>>>> >> >> Gert
>>>>> >> >>
>>>>> >> >> Kit Plummer wrote:
>>>>> >> >> > Getting this a lot when running a few components on the 
>>>>> latest
>>>>> >> >> > apache-servicemix-fuse release:
>>>>> >> >> >
>>>>> >> >> > ERROR - JMSFlow                        - 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 =
>>>>> >> 4418622981026545151,
>>>>> >> >> > local class serialVersionUID = -9120448754896609940
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
>>>>> >> >> JMSExceptionSupport.java:33)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>>> >> >> ActiveMQObjectMessage.java:172)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> >
>>>>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
>>>>> >> (JMSFlow.java
>>>>> >> >> :281)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>>>>> >> >> ActiveMQMessageConsumer.java:841)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>>>>> >> >> ActiveMQSessionExecutor.java:96)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>>>>> >> >> ActiveMQSessionExecutor.java:165)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>>>>> >> >> PooledTaskRunner.java:111)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>>>>> >> >> PooledTaskRunner.java:26)
>>>>> >> >> >
>>>>> >> >> >         at
>>>>> >> >> >
>>>>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
>>>>> >> (PooledTaskRunner.java
>>>>> >> >> :44)
>>>>> >> >> >
>>>>> >> >> >         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(Thread.java:619)
>>>>> >> >> > Caused by: java.io.InvalidClassException:
>>>>> >> javax.xml.namespace.QName;
>>>>> >> >> > local class incompatible: stream classdesc serialVersionUID =
>>>>> >> >> > 4418622981026545151, local class serialVersionUID =
>>>>> >> >> -9120448754896609940
>>>>> >> >> >         at
>>>>> >> >> > 
>>>>> java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:
>>>>> >> 562)
>>>>> >> >> >         at
>>>>> >> >> >
>>>>> >> >> java.io.ObjectInputStream.readNonProxyDesc
>>>>> >> (ObjectInputStream.java:1583)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readClassDesc
>>>>> >> (ObjectInputStream.java:1496)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>> >> (ObjectInputStream.java
>>>>> >> >> :1732)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
>>>>> >> 1329)
>>>>> >> >> >         at
>>>>> >> >> >
>>>>> >> >> 
>>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
>>>>> >> :1945)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>>> >> (ObjectInputStream.java:1869)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>> >> (ObjectInputStream.java
>>>>> >> >> :1753)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
>>>>> >> 1329)
>>>>> >> >> >         at
>>>>> >> >> >
>>>>> >> >> 
>>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
>>>>> >> :1945)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>>> >> (ObjectInputStream.java:1869)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>>> >> (ObjectInputStream.java
>>>>> >> >> :1753)
>>>>> >> >> >         at
>>>>> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
>>>>> >> 1329)
>>>>> >> >> >         at
>>>>> >> >> > 
>>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>>>>> >> >> >         at
>>>>> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>>> >> >> ActiveMQObjectMessage.java:166)
>>>>> >> >> >
>>>>> >> >> >         ... 10 more
>>>>> >> >> >
>>>>> >> >> > Should I attach my servicemix.xml?
>>>>> >> >> >
>>>>> >> >> > Kit
>>>>> >> >> >
>>>>> >> >>
>>>>> >> >>
>>>>> >> >
>>>>> >> >
>>>>> >>
>>>>> >>
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Cheers,
>>>>> > Guillaume Nodet
>>>>> > ------------------------
>>>>> > Principal Engineer, IONA
>>>>> > Blog: http://gnodet.blogspot.com/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --Cheers,
>>>> Guillaume Nodet
>>>> ------------------------
>>>> Principal Engineer, IONA
>>>> Blog: http://gnodet.blogspot.com/
>>>
>>
>


Re: JMS(JCA)Flow ERROR...

Posted by Kit Plummer <ch...@raytheon.com>.
Might be a stretch here but I found a transitive dependency for  
geronimo-qname_1.1_spec out of the maven report.  Could this may be  
it?  How would I exclude this?

On May 2, 2007, at 11:06 AM, Kit Plummer wrote:

> Ok.  I've narrowed that error happening once the Network of Brokers  
> connection is made...
>
> Kit
>
> On May 2, 2007, at 10:33 AM, Kit Plummer wrote:
>
>> There is only one SM instance...at least I'm pretty sure of that.   
>> I will verify.  We are linking two nodes together...but, we see  
>> this message way before the connection is made.
>>
>>
>> On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:
>>
>>> I think this is more a mismatch between several ServiceMix instances
>>> running on different JVMs or in different environments (with  
>>> different
>>> QName classes).  This is certainly not a configuration problem.
>>>
>>> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>>>>
>>>> Hey Guys.  Thanks for the effort.
>>>>
>>>> I did realize that there was a mismatch in versions between what we
>>>> were compiling against, and what was in the distro.  Thinking this
>>>> might be the problem, I having everything matching in our pom.xml.
>>>>
>>>> But, the problem persists.  I'm having trouble mapping it to a
>>>> specific message, but think it has to do with a  
>>>> JmsInUsingJCABinding.
>>>>
>>>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>>>>                                                 service="tsb:
>>>> TSB.LI.Caps.Receiver"
>>>>
>>>>                                                  
>>>> failIfNoDestinationEndpoint="false">
>>>>                                           <sm:component><bean
>>>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>>>>
>>>>                                             <property  
>>>> name="jcaContainer"
>>>> ref="jencks"/>
>>>>
>>>>                                             <property
>>>> name="activationSpec">
>>>>                                               <bean class="
>>>> org.apache.activemq.ra.ActiveMQActivationSpec">
>>>>                                                 <property
>>>> name="destination" value="TSB.LI.Caps"/>
>>>>                                                 <property
>>>> name="destinationType" value="javax.jms.Topic"/>
>>>>                                               </bean>
>>>>                                             </property>
>>>>                                           </bean></sm:component>
>>>>                                         </sm:activationSpec>
>>>>
>>>> Attached is the config.
>>>>
>>>>
>>>>
>>>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>>>>
>>>> > Finding all the classes defining the QName class can be done
>>>> > using ClassLoader.getResources().  Then one could load then and
>>>> > retrieve the serial UID using introspection i guess ...
>>>> >
>>>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>> >>
>>>> >> Guillaume,
>>>> >>
>>>> >> A quick "Open Type..." in Eclipse also shows me that a lot of  
>>>> the jar
>>>> >> files we use in ServiceMix include their own
>>>> >> javax.xml.namespace.QName,
>>>> >> so I suppose it wouldn't be that easy to ensure that only a  
>>>> single
>>>> >> variant of the class gets loaded at runtime either.  Do you know
>>>> >> of any
>>>> >> tool to quickly examine the serialVersionUIDs of these  
>>>> classes in
>>>> >> order
>>>> >> to get this user's problem solved?
>>>> >>
>>>> >> Gert
>>>> >>
>>>> >> Guillaume Nodet wrote:
>>>> >> > I think one problem may be in the serialization of the
>>>> >> MessageExchange
>>>> >> > when
>>>> >> > using the JMS / JCA flows.  The exchange contains QName  
>>>> (for target
>>>> >> > service
>>>> >> > and interface) and may also contain other QNames (soap  
>>>> headers are
>>>> >> > stored in
>>>> >> > a map indexed by QNames).
>>>> >> > We can easily change the first ones to use plain strings  
>>>> ({xxx}yy
>>>> >> > format),
>>>> >> > but
>>>> >> > it will be much more difficult for the ones we do not control.
>>>> >> >
>>>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>>> >> >>
>>>> >> >> Kit,
>>>> >> >>
>>>> >> >> Apparently, you are using multiple (and different)  
>>>> versions of the
>>>> >> QName
>>>> >> >> class.  If this solution is running on multiple JVMs,  
>>>> ensure that
>>>> >> >> they're all of the same version.  If it isn't, could you send
>>>> >> us the
>>>> >> >> servicemix.xml file?  Do you know which are the failing
>>>> >> services, as
>>>> >> >> this might help us pinpoint the problem?
>>>> >> >>
>>>> >> >> Gert
>>>> >> >>
>>>> >> >> Kit Plummer wrote:
>>>> >> >> > Getting this a lot when running a few components on the  
>>>> latest
>>>> >> >> > apache-servicemix-fuse release:
>>>> >> >> >
>>>> >> >> > ERROR - JMSFlow                        - 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 =
>>>> >> 4418622981026545151,
>>>> >> >> > local class serialVersionUID = -9120448754896609940
>>>> >> >> >         at
>>>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
>>>> >> >> JMSExceptionSupport.java:33)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> >  
>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>> >> >> ActiveMQObjectMessage.java:172)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> >
>>>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
>>>> >> (JMSFlow.java
>>>> >> >> :281)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>>>> >> >> ActiveMQMessageConsumer.java:841)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>>>> >> >> ActiveMQSessionExecutor.java:96)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>>>> >> >> ActiveMQSessionExecutor.java:165)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>>>> >> >> PooledTaskRunner.java:111)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>>>> >> >> PooledTaskRunner.java:26)
>>>> >> >> >
>>>> >> >> >         at
>>>> >> >> >
>>>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
>>>> >> (PooledTaskRunner.java
>>>> >> >> :44)
>>>> >> >> >
>>>> >> >> >         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(Thread.java:619)
>>>> >> >> > Caused by: java.io.InvalidClassException:
>>>> >> javax.xml.namespace.QName;
>>>> >> >> > local class incompatible: stream classdesc  
>>>> serialVersionUID =
>>>> >> >> > 4418622981026545151, local class serialVersionUID =
>>>> >> >> -9120448754896609940
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectStreamClass.initNonProxy 
>>>> (ObjectStreamClass.java:
>>>> >> 562)
>>>> >> >> >         at
>>>> >> >> >
>>>> >> >> java.io.ObjectInputStream.readNonProxyDesc
>>>> >> (ObjectInputStream.java:1583)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readClassDesc
>>>> >> (ObjectInputStream.java:1496)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>> >> (ObjectInputStream.java
>>>> >> >> :1732)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>> (ObjectInputStream.java:
>>>> >> 1329)
>>>> >> >> >         at
>>>> >> >> >
>>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>>> (ObjectInputStream.java
>>>> >> :1945)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>> >> (ObjectInputStream.java:1869)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>> >> (ObjectInputStream.java
>>>> >> >> :1753)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>> (ObjectInputStream.java:
>>>> >> 1329)
>>>> >> >> >         at
>>>> >> >> >
>>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>>> (ObjectInputStream.java
>>>> >> :1945)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readSerialData
>>>> >> (ObjectInputStream.java:1869)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>>> >> (ObjectInputStream.java
>>>> >> >> :1753)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readObject0 
>>>> (ObjectInputStream.java:
>>>> >> 1329)
>>>> >> >> >         at
>>>> >> >> > java.io.ObjectInputStream.readObject 
>>>> (ObjectInputStream.java:351)
>>>> >> >> >         at
>>>> >> >> >  
>>>> org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>>> >> >> ActiveMQObjectMessage.java:166)
>>>> >> >> >
>>>> >> >> >         ... 10 more
>>>> >> >> >
>>>> >> >> > Should I attach my servicemix.xml?
>>>> >> >> >
>>>> >> >> > Kit
>>>> >> >> >
>>>> >> >>
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>> > --
>>>> > Cheers,
>>>> > Guillaume Nodet
>>>> > ------------------------
>>>> > Principal Engineer, IONA
>>>> > Blog: http://gnodet.blogspot.com/
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> -- 
>>> Cheers,
>>> Guillaume Nodet
>>> ------------------------
>>> Principal Engineer, IONA
>>> Blog: http://gnodet.blogspot.com/
>>
>


Re: JMS(JCA)Flow ERROR...

Posted by Kit Plummer <ch...@raytheon.com>.
Ok.  I've narrowed that error happening once the Network of Brokers  
connection is made...

Kit

On May 2, 2007, at 10:33 AM, Kit Plummer wrote:

> There is only one SM instance...at least I'm pretty sure of that.   
> I will verify.  We are linking two nodes together...but, we see  
> this message way before the connection is made.
>
>
> On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:
>
>> I think this is more a mismatch between several ServiceMix instances
>> running on different JVMs or in different environments (with  
>> different
>> QName classes).  This is certainly not a configuration problem.
>>
>> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>>>
>>> Hey Guys.  Thanks for the effort.
>>>
>>> I did realize that there was a mismatch in versions between what we
>>> were compiling against, and what was in the distro.  Thinking this
>>> might be the problem, I having everything matching in our pom.xml.
>>>
>>> But, the problem persists.  I'm having trouble mapping it to a
>>> specific message, but think it has to do with a  
>>> JmsInUsingJCABinding.
>>>
>>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>>>                                                 service="tsb:
>>> TSB.LI.Caps.Receiver"
>>>
>>>                                                  
>>> failIfNoDestinationEndpoint="false">
>>>                                           <sm:component><bean
>>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>>>
>>>                                             <property  
>>> name="jcaContainer"
>>> ref="jencks"/>
>>>
>>>                                             <property
>>> name="activationSpec">
>>>                                               <bean class="
>>> org.apache.activemq.ra.ActiveMQActivationSpec">
>>>                                                 <property
>>> name="destination" value="TSB.LI.Caps"/>
>>>                                                 <property
>>> name="destinationType" value="javax.jms.Topic"/>
>>>                                               </bean>
>>>                                             </property>
>>>                                           </bean></sm:component>
>>>                                         </sm:activationSpec>
>>>
>>> Attached is the config.
>>>
>>>
>>>
>>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>>>
>>> > Finding all the classes defining the QName class can be done
>>> > using ClassLoader.getResources().  Then one could load then and
>>> > retrieve the serial UID using introspection i guess ...
>>> >
>>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>> >>
>>> >> Guillaume,
>>> >>
>>> >> A quick "Open Type..." in Eclipse also shows me that a lot of  
>>> the jar
>>> >> files we use in ServiceMix include their own
>>> >> javax.xml.namespace.QName,
>>> >> so I suppose it wouldn't be that easy to ensure that only a  
>>> single
>>> >> variant of the class gets loaded at runtime either.  Do you know
>>> >> of any
>>> >> tool to quickly examine the serialVersionUIDs of these classes in
>>> >> order
>>> >> to get this user's problem solved?
>>> >>
>>> >> Gert
>>> >>
>>> >> Guillaume Nodet wrote:
>>> >> > I think one problem may be in the serialization of the
>>> >> MessageExchange
>>> >> > when
>>> >> > using the JMS / JCA flows.  The exchange contains QName (for  
>>> target
>>> >> > service
>>> >> > and interface) and may also contain other QNames (soap  
>>> headers are
>>> >> > stored in
>>> >> > a map indexed by QNames).
>>> >> > We can easily change the first ones to use plain strings  
>>> ({xxx}yy
>>> >> > format),
>>> >> > but
>>> >> > it will be much more difficult for the ones we do not control.
>>> >> >
>>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>> >> >>
>>> >> >> Kit,
>>> >> >>
>>> >> >> Apparently, you are using multiple (and different) versions  
>>> of the
>>> >> QName
>>> >> >> class.  If this solution is running on multiple JVMs,  
>>> ensure that
>>> >> >> they're all of the same version.  If it isn't, could you send
>>> >> us the
>>> >> >> servicemix.xml file?  Do you know which are the failing
>>> >> services, as
>>> >> >> this might help us pinpoint the problem?
>>> >> >>
>>> >> >> Gert
>>> >> >>
>>> >> >> Kit Plummer wrote:
>>> >> >> > Getting this a lot when running a few components on the  
>>> latest
>>> >> >> > apache-servicemix-fuse release:
>>> >> >> >
>>> >> >> > ERROR - JMSFlow                        - 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 =
>>> >> 4418622981026545151,
>>> >> >> > local class serialVersionUID = -9120448754896609940
>>> >> >> >         at
>>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
>>> >> >> JMSExceptionSupport.java:33)
>>> >> >> >
>>> >> >> >         at
>>> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>> >> >> ActiveMQObjectMessage.java:172)
>>> >> >> >
>>> >> >> >         at
>>> >> >> >
>>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
>>> >> (JMSFlow.java
>>> >> >> :281)
>>> >> >> >
>>> >> >> >         at
>>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>>> >> >> ActiveMQMessageConsumer.java:841)
>>> >> >> >
>>> >> >> >         at
>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>>> >> >> ActiveMQSessionExecutor.java:96)
>>> >> >> >
>>> >> >> >         at
>>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>>> >> >> ActiveMQSessionExecutor.java:165)
>>> >> >> >
>>> >> >> >         at
>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>>> >> >> PooledTaskRunner.java:111)
>>> >> >> >
>>> >> >> >         at
>>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>>> >> >> PooledTaskRunner.java:26)
>>> >> >> >
>>> >> >> >         at
>>> >> >> >
>>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
>>> >> (PooledTaskRunner.java
>>> >> >> :44)
>>> >> >> >
>>> >> >> >         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(Thread.java:619)
>>> >> >> > Caused by: java.io.InvalidClassException:
>>> >> javax.xml.namespace.QName;
>>> >> >> > local class incompatible: stream classdesc  
>>> serialVersionUID =
>>> >> >> > 4418622981026545151, local class serialVersionUID =
>>> >> >> -9120448754896609940
>>> >> >> >         at
>>> >> >> > java.io.ObjectStreamClass.initNonProxy 
>>> (ObjectStreamClass.java:
>>> >> 562)
>>> >> >> >         at
>>> >> >> >
>>> >> >> java.io.ObjectInputStream.readNonProxyDesc
>>> >> (ObjectInputStream.java:1583)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readClassDesc
>>> >> (ObjectInputStream.java:1496)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>> >> (ObjectInputStream.java
>>> >> >> :1732)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readObject0 
>>> (ObjectInputStream.java:
>>> >> 1329)
>>> >> >> >         at
>>> >> >> >
>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>> (ObjectInputStream.java
>>> >> :1945)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readSerialData
>>> >> (ObjectInputStream.java:1869)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>> >> (ObjectInputStream.java
>>> >> >> :1753)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readObject0 
>>> (ObjectInputStream.java:
>>> >> 1329)
>>> >> >> >         at
>>> >> >> >
>>> >> >> java.io.ObjectInputStream.defaultReadFields 
>>> (ObjectInputStream.java
>>> >> :1945)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readSerialData
>>> >> (ObjectInputStream.java:1869)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>>> >> (ObjectInputStream.java
>>> >> >> :1753)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readObject0 
>>> (ObjectInputStream.java:
>>> >> 1329)
>>> >> >> >         at
>>> >> >> > java.io.ObjectInputStream.readObject 
>>> (ObjectInputStream.java:351)
>>> >> >> >         at
>>> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>>> >> >> ActiveMQObjectMessage.java:166)
>>> >> >> >
>>> >> >> >         ... 10 more
>>> >> >> >
>>> >> >> > Should I attach my servicemix.xml?
>>> >> >> >
>>> >> >> > Kit
>>> >> >> >
>>> >> >>
>>> >> >>
>>> >> >
>>> >> >
>>> >>
>>> >>
>>> >
>>> >
>>> > --
>>> > Cheers,
>>> > Guillaume Nodet
>>> > ------------------------
>>> > Principal Engineer, IONA
>>> > Blog: http://gnodet.blogspot.com/
>>>
>>>
>>>
>>>
>>
>>
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Principal Engineer, IONA
>> Blog: http://gnodet.blogspot.com/
>


Re: JMS(JCA)Flow ERROR...

Posted by Kit Plummer <ch...@raytheon.com>.
There is only one SM instance...at least I'm pretty sure of that.  I  
will verify.  We are linking two nodes together...but, we see this  
message way before the connection is made.


On May 2, 2007, at 10:28 AM, Guillaume Nodet wrote:

> I think this is more a mismatch between several ServiceMix instances
> running on different JVMs or in different environments (with different
> QName classes).  This is certainly not a configuration problem.
>
> On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>>
>> Hey Guys.  Thanks for the effort.
>>
>> I did realize that there was a mismatch in versions between what we
>> were compiling against, and what was in the distro.  Thinking this
>> might be the problem, I having everything matching in our pom.xml.
>>
>> But, the problem persists.  I'm having trouble mapping it to a
>> specific message, but think it has to do with a JmsInUsingJCABinding.
>>
>> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>>                                                 service="tsb:
>> TSB.LI.Caps.Receiver"
>>
>>                                                  
>> failIfNoDestinationEndpoint="false">
>>                                           <sm:component><bean
>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>>
>>                                             <property  
>> name="jcaContainer"
>> ref="jencks"/>
>>
>>                                             <property
>> name="activationSpec">
>>                                               <bean class="
>> org.apache.activemq.ra.ActiveMQActivationSpec">
>>                                                 <property
>> name="destination" value="TSB.LI.Caps"/>
>>                                                 <property
>> name="destinationType" value="javax.jms.Topic"/>
>>                                               </bean>
>>                                             </property>
>>                                           </bean></sm:component>
>>                                         </sm:activationSpec>
>>
>> Attached is the config.
>>
>>
>>
>> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>>
>> > Finding all the classes defining the QName class can be done
>> > using ClassLoader.getResources().  Then one could load then and
>> > retrieve the serial UID using introspection i guess ...
>> >
>> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>> >>
>> >> Guillaume,
>> >>
>> >> A quick "Open Type..." in Eclipse also shows me that a lot of  
>> the jar
>> >> files we use in ServiceMix include their own
>> >> javax.xml.namespace.QName,
>> >> so I suppose it wouldn't be that easy to ensure that only a single
>> >> variant of the class gets loaded at runtime either.  Do you know
>> >> of any
>> >> tool to quickly examine the serialVersionUIDs of these classes in
>> >> order
>> >> to get this user's problem solved?
>> >>
>> >> Gert
>> >>
>> >> Guillaume Nodet wrote:
>> >> > I think one problem may be in the serialization of the
>> >> MessageExchange
>> >> > when
>> >> > using the JMS / JCA flows.  The exchange contains QName (for  
>> target
>> >> > service
>> >> > and interface) and may also contain other QNames (soap  
>> headers are
>> >> > stored in
>> >> > a map indexed by QNames).
>> >> > We can easily change the first ones to use plain strings  
>> ({xxx}yy
>> >> > format),
>> >> > but
>> >> > it will be much more difficult for the ones we do not control.
>> >> >
>> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>> >> >>
>> >> >> Kit,
>> >> >>
>> >> >> Apparently, you are using multiple (and different) versions  
>> of the
>> >> QName
>> >> >> class.  If this solution is running on multiple JVMs, ensure  
>> that
>> >> >> they're all of the same version.  If it isn't, could you send
>> >> us the
>> >> >> servicemix.xml file?  Do you know which are the failing
>> >> services, as
>> >> >> this might help us pinpoint the problem?
>> >> >>
>> >> >> Gert
>> >> >>
>> >> >> Kit Plummer wrote:
>> >> >> > Getting this a lot when running a few components on the  
>> latest
>> >> >> > apache-servicemix-fuse release:
>> >> >> >
>> >> >> > ERROR - JMSFlow                        - 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 =
>> >> 4418622981026545151,
>> >> >> > local class serialVersionUID = -9120448754896609940
>> >> >> >         at
>> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
>> >> >> JMSExceptionSupport.java:33)
>> >> >> >
>> >> >> >         at
>> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>> >> >> ActiveMQObjectMessage.java:172)
>> >> >> >
>> >> >> >         at
>> >> >> >
>> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
>> >> (JMSFlow.java
>> >> >> :281)
>> >> >> >
>> >> >> >         at
>> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>> >> >> ActiveMQMessageConsumer.java:841)
>> >> >> >
>> >> >> >         at
>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>> >> >> ActiveMQSessionExecutor.java:96)
>> >> >> >
>> >> >> >         at
>> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>> >> >> ActiveMQSessionExecutor.java:165)
>> >> >> >
>> >> >> >         at
>> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>> >> >> PooledTaskRunner.java:111)
>> >> >> >
>> >> >> >         at
>> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>> >> >> PooledTaskRunner.java:26)
>> >> >> >
>> >> >> >         at
>> >> >> >
>> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
>> >> (PooledTaskRunner.java
>> >> >> :44)
>> >> >> >
>> >> >> >         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(Thread.java:619)
>> >> >> > Caused by: java.io.InvalidClassException:
>> >> javax.xml.namespace.QName;
>> >> >> > local class incompatible: stream classdesc serialVersionUID =
>> >> >> > 4418622981026545151, local class serialVersionUID =
>> >> >> -9120448754896609940
>> >> >> >         at
>> >> >> > java.io.ObjectStreamClass.initNonProxy 
>> (ObjectStreamClass.java:
>> >> 562)
>> >> >> >         at
>> >> >> >
>> >> >> java.io.ObjectInputStream.readNonProxyDesc
>> >> (ObjectInputStream.java:1583)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readClassDesc
>> >> (ObjectInputStream.java:1496)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>> >> (ObjectInputStream.java
>> >> >> :1732)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
>> >> 1329)
>> >> >> >         at
>> >> >> >
>> >> >> java.io.ObjectInputStream.defaultReadFields 
>> (ObjectInputStream.java
>> >> :1945)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readSerialData
>> >> (ObjectInputStream.java:1869)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>> >> (ObjectInputStream.java
>> >> >> :1753)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
>> >> 1329)
>> >> >> >         at
>> >> >> >
>> >> >> java.io.ObjectInputStream.defaultReadFields 
>> (ObjectInputStream.java
>> >> :1945)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readSerialData
>> >> (ObjectInputStream.java:1869)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readOrdinaryObject
>> >> (ObjectInputStream.java
>> >> >> :1753)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
>> >> 1329)
>> >> >> >         at
>> >> >> > java.io.ObjectInputStream.readObject 
>> (ObjectInputStream.java:351)
>> >> >> >         at
>> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>> >> >> ActiveMQObjectMessage.java:166)
>> >> >> >
>> >> >> >         ... 10 more
>> >> >> >
>> >> >> > Should I attach my servicemix.xml?
>> >> >> >
>> >> >> > Kit
>> >> >> >
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> > ------------------------
>> > Principal Engineer, IONA
>> > Blog: http://gnodet.blogspot.com/
>>
>>
>>
>>
>
>
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Principal Engineer, IONA
> Blog: http://gnodet.blogspot.com/


Re: JMS(JCA)Flow ERROR...

Posted by Guillaume Nodet <gn...@gmail.com>.
I think this is more a mismatch between several ServiceMix instances
running on different JVMs or in different environments (with different
QName classes).  This is certainly not a configuration problem.

On 5/2/07, Kit Plummer <ch...@raytheon.com> wrote:
>
> Hey Guys.  Thanks for the effort.
>
> I did realize that there was a mismatch in versions between what we
> were compiling against, and what was in the distro.  Thinking this
> might be the problem, I having everything matching in our pom.xml.
>
> But, the problem persists.  I'm having trouble mapping it to a
> specific message, but think it has to do with a JmsInUsingJCABinding.
>
> <sm:activationSpec componentName="TSB.LI.Caps.Receiver"
>                                                 service="tsb:
> TSB.LI.Caps.Receiver"
>
>                                                 failIfNoDestinationEndpoint="false">
>                                           <sm:component><bean
> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>
>                                             <property name="jcaContainer"
> ref="jencks"/>
>
>                                             <property
> name="activationSpec">
>                                               <bean class="
> org.apache.activemq.ra.ActiveMQActivationSpec">
>                                                 <property
> name="destination" value="TSB.LI.Caps"/>
>                                                 <property
> name="destinationType" value="javax.jms.Topic"/>
>                                               </bean>
>                                             </property>
>                                           </bean></sm:component>
>                                         </sm:activationSpec>
>
> Attached is the config.
>
>
>
> On May 2, 2007, at 1:04 AM, Guillaume Nodet wrote:
>
> > Finding all the classes defining the QName class can be done
> > using ClassLoader.getResources().  Then one could load then and
> > retrieve the serial UID using introspection i guess ...
> >
> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
> >>
> >> Guillaume,
> >>
> >> A quick "Open Type..." in Eclipse also shows me that a lot of the jar
> >> files we use in ServiceMix include their own
> >> javax.xml.namespace.QName,
> >> so I suppose it wouldn't be that easy to ensure that only a single
> >> variant of the class gets loaded at runtime either.  Do you know
> >> of any
> >> tool to quickly examine the serialVersionUIDs of these classes in
> >> order
> >> to get this user's problem solved?
> >>
> >> Gert
> >>
> >> Guillaume Nodet wrote:
> >> > I think one problem may be in the serialization of the
> >> MessageExchange
> >> > when
> >> > using the JMS / JCA flows.  The exchange contains QName (for target
> >> > service
> >> > and interface) and may also contain other QNames (soap headers are
> >> > stored in
> >> > a map indexed by QNames).
> >> > We can easily change the first ones to use plain strings ({xxx}yy
> >> > format),
> >> > but
> >> > it will be much more difficult for the ones we do not control.
> >> >
> >> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
> >> >>
> >> >> Kit,
> >> >>
> >> >> Apparently, you are using multiple (and different) versions of the
> >> QName
> >> >> class.  If this solution is running on multiple JVMs, ensure that
> >> >> they're all of the same version.  If it isn't, could you send
> >> us the
> >> >> servicemix.xml file?  Do you know which are the failing
> >> services, as
> >> >> this might help us pinpoint the problem?
> >> >>
> >> >> Gert
> >> >>
> >> >> Kit Plummer wrote:
> >> >> > Getting this a lot when running a few components on the latest
> >> >> > apache-servicemix-fuse release:
> >> >> >
> >> >> > ERROR - JMSFlow                        - 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 =
> >> 4418622981026545151,
> >> >> > local class serialVersionUID = -9120448754896609940
> >> >> >         at
> >> >> > org.apache.activemq.util.JMSExceptionSupport.create(
> >> >> JMSExceptionSupport.java:33)
> >> >> >
> >> >> >         at
> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> >> >> ActiveMQObjectMessage.java:172)
> >> >> >
> >> >> >         at
> >> >> >
> >> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage
> >> (JMSFlow.java
> >> >> :281)
> >> >> >
> >> >> >         at
> >> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
> >> >> ActiveMQMessageConsumer.java:841)
> >> >> >
> >> >> >         at
> >> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
> >> >> ActiveMQSessionExecutor.java:96)
> >> >> >
> >> >> >         at
> >> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
> >> >> ActiveMQSessionExecutor.java:165)
> >> >> >
> >> >> >         at
> >> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
> >> >> PooledTaskRunner.java:111)
> >> >> >
> >> >> >         at
> >> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
> >> >> PooledTaskRunner.java:26)
> >> >> >
> >> >> >         at
> >> >> >
> >> >> org.apache.activemq.thread.PooledTaskRunner$1.run
> >> (PooledTaskRunner.java
> >> >> :44)
> >> >> >
> >> >> >         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(Thread.java:619)
> >> >> > Caused by: java.io.InvalidClassException:
> >> javax.xml.namespace.QName;
> >> >> > local class incompatible: stream classdesc serialVersionUID =
> >> >> > 4418622981026545151, local class serialVersionUID =
> >> >> -9120448754896609940
> >> >> >         at
> >> >> > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:
> >> 562)
> >> >> >         at
> >> >> >
> >> >> java.io.ObjectInputStream.readNonProxyDesc
> >> (ObjectInputStream.java:1583)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readClassDesc
> >> (ObjectInputStream.java:1496)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readOrdinaryObject
> >> (ObjectInputStream.java
> >> >> :1732)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
> >> 1329)
> >> >> >         at
> >> >> >
> >> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
> >> :1945)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readSerialData
> >> (ObjectInputStream.java:1869)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readOrdinaryObject
> >> (ObjectInputStream.java
> >> >> :1753)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
> >> 1329)
> >> >> >         at
> >> >> >
> >> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
> >> :1945)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readSerialData
> >> (ObjectInputStream.java:1869)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readOrdinaryObject
> >> (ObjectInputStream.java
> >> >> :1753)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:
> >> 1329)
> >> >> >         at
> >> >> > java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> >> >> >         at
> >> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> >> >> ActiveMQObjectMessage.java:166)
> >> >> >
> >> >> >         ... 10 more
> >> >> >
> >> >> > Should I attach my servicemix.xml?
> >> >> >
> >> >> > Kit
> >> >> >
> >> >>
> >> >>
> >> >
> >> >
> >>
> >>
> >
> >
> > --
> > Cheers,
> > Guillaume Nodet
> > ------------------------
> > Principal Engineer, IONA
> > Blog: http://gnodet.blogspot.com/
>
>
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/

Re: JMS(JCA)Flow ERROR...

Posted by Kit Plummer <ch...@raytheon.com>.
Hey Guys.  Thanks for the effort.

I did realize that there was a mismatch in versions between what we  
were compiling against, and what was in the distro.  Thinking this  
might be the problem, I having everything matching in our pom.xml.

But, the problem persists.  I'm having trouble mapping it to a  
specific message, but think it has to do with a JmsInUsingJCABinding.

<sm:activationSpec componentName="TSB.LI.Caps.Receiver"
						service="tsb:TSB.LI.Caps.Receiver"
						failIfNoDestinationEndpoint="false">
					  <sm:component><bean  
class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">

					    <property name="jcaContainer" ref="jencks"/>

					    <property name="activationSpec">
					      <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
					        <property name="destination" value="TSB.LI.Caps"/>
					        <property name="destinationType" value="javax.jms.Topic"/>
					      </bean>
					    </property>
					  </bean></sm:component>
					</sm:activationSpec>

Attached is the config.


Re: JMS(JCA)Flow ERROR...

Posted by Guillaume Nodet <gn...@gmail.com>.
Finding all the classes defining the QName class can be done
using ClassLoader.getResources().  Then one could load then and
retrieve the serial UID using introspection i guess ...

On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>
> Guillaume,
>
> A quick "Open Type..." in Eclipse also shows me that a lot of the jar
> files we use in ServiceMix include their own javax.xml.namespace.QName,
> so I suppose it wouldn't be that easy to ensure that only a single
> variant of the class gets loaded at runtime either.  Do you know of any
> tool to quickly examine the serialVersionUIDs of these classes in order
> to get this user's problem solved?
>
> Gert
>
> Guillaume Nodet wrote:
> > I think one problem may be in the serialization of the MessageExchange
> > when
> > using the JMS / JCA flows.  The exchange contains QName (for target
> > service
> > and interface) and may also contain other QNames (soap headers are
> > stored in
> > a map indexed by QNames).
> > We can easily change the first ones to use plain strings ({xxx}yy
> > format),
> > but
> > it will be much more difficult for the ones we do not control.
> >
> > On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
> >>
> >> Kit,
> >>
> >> Apparently, you are using multiple (and different) versions of the
> QName
> >> class.  If this solution is running on multiple JVMs, ensure that
> >> they're all of the same version.  If it isn't, could you send us the
> >> servicemix.xml file?  Do you know which are the failing services, as
> >> this might help us pinpoint the problem?
> >>
> >> Gert
> >>
> >> Kit Plummer wrote:
> >> > Getting this a lot when running a few components on the latest
> >> > apache-servicemix-fuse release:
> >> >
> >> > ERROR - JMSFlow                        - 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 =
> 4418622981026545151,
> >> > local class serialVersionUID = -9120448754896609940
> >> >         at
> >> > org.apache.activemq.util.JMSExceptionSupport.create(
> >> JMSExceptionSupport.java:33)
> >> >
> >> >         at
> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> >> ActiveMQObjectMessage.java:172)
> >> >
> >> >         at
> >> >
> >> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage(JMSFlow.java
> >> :281)
> >> >
> >> >         at
> >> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
> >> ActiveMQMessageConsumer.java:841)
> >> >
> >> >         at
> >> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
> >> ActiveMQSessionExecutor.java:96)
> >> >
> >> >         at
> >> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
> >> ActiveMQSessionExecutor.java:165)
> >> >
> >> >         at
> >> > org.apache.activemq.thread.PooledTaskRunner.runTask(
> >> PooledTaskRunner.java:111)
> >> >
> >> >         at
> >> > org.apache.activemq.thread.PooledTaskRunner.access$100(
> >> PooledTaskRunner.java:26)
> >> >
> >> >         at
> >> >
> >> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java
> >> :44)
> >> >
> >> >         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(Thread.java:619)
> >> > Caused by: java.io.InvalidClassException: javax.xml.namespace.QName;
> >> > local class incompatible: stream classdesc serialVersionUID =
> >> > 4418622981026545151, local class serialVersionUID =
> >> -9120448754896609940
> >> >         at
> >> > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
> >> >         at
> >> >
> >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
> >> >         at
> >> > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
> >> >         at
> >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
> >> :1732)
> >> >         at
> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> >> >         at
> >> >
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
> :1945)
> >> >         at
> >> > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
> >> >         at
> >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
> >> :1753)
> >> >         at
> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> >> >         at
> >> >
> >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
> :1945)
> >> >         at
> >> > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
> >> >         at
> >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
> >> :1753)
> >> >         at
> >> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> >> >         at
> >> > java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> >> >         at
> >> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> >> ActiveMQObjectMessage.java:166)
> >> >
> >> >         ... 10 more
> >> >
> >> > Should I attach my servicemix.xml?
> >> >
> >> > Kit
> >> >
> >>
> >>
> >
> >
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/

Re: JMS(JCA)Flow ERROR...

Posted by Gert Vanthienen <ge...@skynet.be>.
Guillaume,

A quick "Open Type..." in Eclipse also shows me that a lot of the jar 
files we use in ServiceMix include their own javax.xml.namespace.QName, 
so I suppose it wouldn't be that easy to ensure that only a single 
variant of the class gets loaded at runtime either.  Do you know of any 
tool to quickly examine the serialVersionUIDs of these classes in order 
to get this user's problem solved?

Gert

Guillaume Nodet wrote:
> I think one problem may be in the serialization of the MessageExchange 
> when
> using the JMS / JCA flows.  The exchange contains QName (for target 
> service
> and interface) and may also contain other QNames (soap headers are 
> stored in
> a map indexed by QNames).
> We can easily change the first ones to use plain strings ({xxx}yy 
> format),
> but
> it will be much more difficult for the ones we do not control.
>
> On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>>
>> Kit,
>>
>> Apparently, you are using multiple (and different) versions of the QName
>> class.  If this solution is running on multiple JVMs, ensure that
>> they're all of the same version.  If it isn't, could you send us the
>> servicemix.xml file?  Do you know which are the failing services, as
>> this might help us pinpoint the problem?
>>
>> Gert
>>
>> Kit Plummer wrote:
>> > Getting this a lot when running a few components on the latest
>> > apache-servicemix-fuse release:
>> >
>> > ERROR - JMSFlow                        - 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 = 4418622981026545151,
>> > local class serialVersionUID = -9120448754896609940
>> >         at
>> > org.apache.activemq.util.JMSExceptionSupport.create(
>> JMSExceptionSupport.java:33)
>> >
>> >         at
>> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>> ActiveMQObjectMessage.java:172)
>> >
>> >         at
>> > 
>> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage(JMSFlow.java
>> :281)
>> >
>> >         at
>> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
>> ActiveMQMessageConsumer.java:841)
>> >
>> >         at
>> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
>> ActiveMQSessionExecutor.java:96)
>> >
>> >         at
>> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
>> ActiveMQSessionExecutor.java:165)
>> >
>> >         at
>> > org.apache.activemq.thread.PooledTaskRunner.runTask(
>> PooledTaskRunner.java:111)
>> >
>> >         at
>> > org.apache.activemq.thread.PooledTaskRunner.access$100(
>> PooledTaskRunner.java:26)
>> >
>> >         at
>> > 
>> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java
>> :44)
>> >
>> >         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(Thread.java:619)
>> > Caused by: java.io.InvalidClassException: javax.xml.namespace.QName;
>> > local class incompatible: stream classdesc serialVersionUID =
>> > 4418622981026545151, local class serialVersionUID = 
>> -9120448754896609940
>> >         at
>> > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
>> >         at
>> > 
>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
>> >         at
>> > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
>> >         at
>> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
>> :1732)
>> >         at
>> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>> >         at
>> > 
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>> >         at
>> > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>> >         at
>> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
>> :1753)
>> >         at
>> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>> >         at
>> > 
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>> >         at
>> > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>> >         at
>> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
>> :1753)
>> >         at
>> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>> >         at
>> > java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>> >         at
>> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
>> ActiveMQObjectMessage.java:166)
>> >
>> >         ... 10 more
>> >
>> > Should I attach my servicemix.xml?
>> >
>> > Kit
>> >
>>
>>
>
>


Re: JMS(JCA)Flow ERROR...

Posted by Guillaume Nodet <gn...@gmail.com>.
I think one problem may be in the serialization of the MessageExchange when
using the JMS / JCA flows.  The exchange contains QName (for target service
and interface) and may also contain other QNames (soap headers are stored in
a map indexed by QNames).
We can easily change the first ones to use plain strings ({xxx}yy format),
but
it will be much more difficult for the ones we do not control.

On 5/2/07, Gert Vanthienen <ge...@skynet.be> wrote:
>
> Kit,
>
> Apparently, you are using multiple (and different) versions of the QName
> class.  If this solution is running on multiple JVMs, ensure that
> they're all of the same version.  If it isn't, could you send us the
> servicemix.xml file?  Do you know which are the failing services, as
> this might help us pinpoint the problem?
>
> Gert
>
> Kit Plummer wrote:
> > Getting this a lot when running a few components on the latest
> > apache-servicemix-fuse release:
> >
> > ERROR - JMSFlow                        - 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 = 4418622981026545151,
> > local class serialVersionUID = -9120448754896609940
> >         at
> > org.apache.activemq.util.JMSExceptionSupport.create(
> JMSExceptionSupport.java:33)
> >
> >         at
> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> ActiveMQObjectMessage.java:172)
> >
> >         at
> > org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage(JMSFlow.java
> :281)
> >
> >         at
> > org.apache.activemq.ActiveMQMessageConsumer.dispatch(
> ActiveMQMessageConsumer.java:841)
> >
> >         at
> > org.apache.activemq.ActiveMQSessionExecutor.dispatch(
> ActiveMQSessionExecutor.java:96)
> >
> >         at
> > org.apache.activemq.ActiveMQSessionExecutor.iterate(
> ActiveMQSessionExecutor.java:165)
> >
> >         at
> > org.apache.activemq.thread.PooledTaskRunner.runTask(
> PooledTaskRunner.java:111)
> >
> >         at
> > org.apache.activemq.thread.PooledTaskRunner.access$100(
> PooledTaskRunner.java:26)
> >
> >         at
> > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java
> :44)
> >
> >         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(Thread.java:619)
> > Caused by: java.io.InvalidClassException: javax.xml.namespace.QName;
> > local class incompatible: stream classdesc serialVersionUID =
> > 4418622981026545151, local class serialVersionUID = -9120448754896609940
> >         at
> > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
> >         at
> > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
> >         at
> > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
> >         at
> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
> :1732)
> >         at
> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> >         at
> > java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
> >         at
> > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
> >         at
> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
> :1753)
> >         at
> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> >         at
> > java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
> >         at
> > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
> >         at
> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
> :1753)
> >         at
> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> >         at
> > java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> >         at
> > org.apache.activemq.command.ActiveMQObjectMessage.getObject(
> ActiveMQObjectMessage.java:166)
> >
> >         ... 10 more
> >
> > Should I attach my servicemix.xml?
> >
> > Kit
> >
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/

Re: JMS(JCA)Flow ERROR...

Posted by Gert Vanthienen <ge...@skynet.be>.
Kit,

Apparently, you are using multiple (and different) versions of the QName 
class.  If this solution is running on multiple JVMs, ensure that 
they're all of the same version.  If it isn't, could you send us the 
servicemix.xml file?  Do you know which are the failing services, as 
this might help us pinpoint the problem?

Gert

Kit Plummer wrote:
> Getting this a lot when running a few components on the latest 
> apache-servicemix-fuse release:
>
> ERROR - JMSFlow                        - 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 = 4418622981026545151, 
> local class serialVersionUID = -9120448754896609940
>         at 
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:33) 
>
>         at 
> org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:172) 
>
>         at 
> org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow$3.onMessage(JMSFlow.java:281) 
>
>         at 
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:841) 
>
>         at 
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:96) 
>
>         at 
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:165) 
>
>         at 
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:111) 
>
>         at 
> org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26) 
>
>         at 
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44) 
>
>         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(Thread.java:619)
> Caused by: java.io.InvalidClassException: javax.xml.namespace.QName; 
> local class incompatible: stream classdesc serialVersionUID = 
> 4418622981026545151, local class serialVersionUID = -9120448754896609940
>         at 
> java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
>         at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
>         at 
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
>         at 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>         at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>         at 
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>         at 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>         at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
>         at 
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>         at 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>         at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>         at 
> org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:166) 
>
>         ... 10 more
>
> Should I attach my servicemix.xml?
>
> Kit
>