fmtn/a

Invalid version: 6, could not load org.apache.activemq.openwire.v6.MarshallerFactory

ghidinelli opened this issue · 4 comments

Really excited to try out an amq command line tool but running into a problem. We have ActiveMQ 5.4.x in production. Is there a minimum version of ActiveMQ that is supported? Here's the error:

[root@ewhserver1512 amqclient]# ./a -b tcp://localhost:61616
javax.jms.JMSException: Disposed due to prior exception
	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72)
	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1413)
	at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1478)
	at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:329)
	at co.nordlander.a.A.connect(A.java:376)
	at co.nordlander.a.A.run(A.java:184)
	at co.nordlander.a.A.main(A.java:155)
Caused by: org.apache.activemq.transport.TransportDisposedIOException: Disposed due to prior exception
	at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:125)
	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
	at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:173)
	at org.apache.activemq.transport.WireFormatNegotiator.negociate(WireFormatNegotiator.java:161)
	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:123)
	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)
	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)
	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Invalid version: 6, could not load org.apache.activemq.openwire.v6.MarshallerFactory
	at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:46)
	... 7 more
Caused by: java.lang.IllegalArgumentException: Invalid version: 6, could not load org.apache.activemq.openwire.v6.MarshallerFactory
	at org.apache.activemq.openwire.OpenWireFormat.setVersion(OpenWireFormat.java:335)
	at org.apache.activemq.openwire.OpenWireFormat.renegotiateWireFormat(OpenWireFormat.java:614)
	at org.apache.activemq.transport.WireFormatNegotiator.negociate(WireFormatNegotiator.java:145)
	... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.openwire.v6.MarshallerFactory
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.apache.activemq.openwire.OpenWireFormat.setVersion(OpenWireFormat.java:333)
	... 8 more

I'm on Java 8:

[root@ewhserver1512 amqclient]# /usr/bin/java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

And ActiveMQ is definitely running - this is not a new install - as my app uses it successfully (with the localhost:61616 url).

Appreciate your help and happy to provide any additional data if necessary.

Support for very old ActiveMQ versions require a specific legacy dependency. I will include it in the next release.

Just released v1.4.4 with this feature enabled.

Thanks for the add and the awesome turnaround!

Just tested and verified I can now connect locally. Thanks again @northlander.