Hello.

Trying to connect from a 4.1.1 client (running as a servlet in a Tomcat container) to a 4.0.2 broker, I'm getting the following stack trace in the server:

Exception in thread "ActiveMQ Transport: tcp:///127.0.0.1:50548" java.lang.IllegalArgumentException: Invalid version: 2, could not load org.apache.activemq.openwire.v2.MarshallerFactory at org.apache.activemq.openwire.OpenWireFormat.setVersion(OpenWireFormat.java:329) at org.apache.activemq.openwire.OpenWireFormat.renegociatWireFormat(OpenWireFormat.java:569) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:108) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:127)
       at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.openwire.v2.MarshallerFactory at org.apache.activemq.util.ClassLoading.loadClass(ClassLoading.java:104) at org.apache.activemq.openwire.OpenWireFormat.setVersion(OpenWireFormat.java:327)
       ... 6 more
Exception in thread "ActiveMQ Transport: tcp:///127.0.0.1:50550" java.lang.IllegalArgumentException: Invalid version: 2, could not load org.apache.activemq.openwire.v2.MarshallerFactory at org.apache.activemq.openwire.OpenWireFormat.setVersion(OpenWireFormat.java:329) at org.apache.activemq.openwire.OpenWireFormat.renegociatWireFormat(OpenWireFormat.java:569) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:108) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:127)
       at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.openwire.v2.MarshallerFactory at org.apache.activemq.util.ClassLoading.loadClass(ClassLoading.java:104) at org.apache.activemq.openwire.OpenWireFormat.setVersion(OpenWireFormat.java:327)
       ... 6 more

Shouldn't they negociate the wire format and fallback to the highest known at both sides?

Logs from the negotiation attempt at the server:


[DEBUG][2007/06/11.13:26:40.075][ActiveMQ Transport Server: tcp://dispacher-ps:61635]Sending: WireFormatInfo { version=1, properties={TightEncodingEnabled=true, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} [DEBUG][2007/06/11.13:26:40.077][ActiveMQ Transport: tcp:///127.0.0.1:50546]Received WireFormat: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} [DEBUG][2007/06/11.13:26:40.077][ActiveMQ Transport: tcp:///127.0.0.1:50546]tcp:///127.0.0.1:50546 before negotiation: OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false} [DEBUG][2007/06/11.13:26:55.080][ActiveMQ Transport Server: tcp://dispacher-ps:61635]Transport failed: java.io.IOException: Wire format negociation timeout: peer did not send his wire format.(Wire format negociation timeout: peer did not send his wire format.)


In the client side, just a java.io.EOFException trying to create the JMS Session.

Any idea?

Regards.


Reply via email to