I have been using activeMQ for a long while. Since i communicate between webapps in my tomcat server, i define some queues in tomcat conf, and have all the libs in tomcat/lib, but my apps use spring and more specifically, spring-jms and activemq-spring libraries.
if i put the activemq-all-5.11.1.jar in the lib, everything works, but if i just put in individual jars (broker, client, console, kahadb, protobuf and spring), i get the following error:
javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Invalid version: 6, could not load org.apache.activemq.openwire.v6.MarshallerFactory at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36) ~[activemq-client-5.11.1.jar:5.11.1] at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:319) ~[activemq-client-5.11.1.jar:5.11.1] at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:332) ~[activemq-client-5.11.1.jar:5.11.1] at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:305) ~[activemq-client-5.11.1.jar:5.11.1] at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) ~[activemq-client-5.11.1.jar:5.11.1] at org.springframework.jms.connection.SingleConnectionFactory.doCreateConnection(SingleConnectionFactory.java:365) ~[spring-jms-4.1.6.RELEASE.jar:4.1.6.RELEASE]
I checked the "v6.MarshallerFactory" class and it seems it's related to talking to old versions of brokers. But my broker is running inside tomcat, and the only active-mq-jars i have are those in the tomcat lib, so i don't understand why someone thinks there's need to talk to an old version of a broker.
Pointers much appreciated.