You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Manuel Teira <mt...@tid.es> on 2007/06/11 15:48:04 UTC
Failure in wire format negotiation
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.
Re: Failure in wire format negotiation
Posted by James Strachan <ja...@gmail.com>.
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 <mt...@tid.es> 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/