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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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/






Reply via email to