servicemix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gert Vanthienen <gert.vanthie...@skynet.be>
Subject Re: JMS(JCA)Flow ERROR...
Date Thu, 03 May 2007 07:50:59 GMT
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 <christopher_plummer@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 <gert.vanthienen@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 <gert.vanthienen@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/
>>>
>>
>


Mime
View raw message