With some development work this could work in the future; but usually you should upgrade the broker first (not the client).
The broker can typically deal with older clients; though the broker doesn't always deal with newer clients than it. (Its also usually way simpler to upgrade the broker than the client, as there's usually far fewer brokers than clients). On 6/11/07, Manuel Teira <[EMAIL PROTECTED]> wrote:
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.
-- James ------- http://macstrac.blogspot.com/