1 Reply Latest reply: Aug 12, 2010 9:30 AM by andreas_back RSS

ActiveMQ and XAResouceRecovery

Edwin van der Elst Newbie

Hi,

 

I have an external ActiveMQ server (5.3.0) which is used for JMS queues, used by a couple of MDB's deployed in JBoss 5.1.0.

This all works fine, but I don't think the integration with the transaction recovery manager is correct.

 

When using JBoss Messaging, I have to add a line to the jbossts-propertiex.xml file.

In the case of ActiveMQ, I get the error:

 

{code}

java.lang.ClassCastException: Object at 'java:/activemq/QueueConnectionFactory' in context {java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces:org.jboss.naming:org.jnp.interfaces} is not an instance of [class=javax.jms.XAConnectionFactory classloader=BaseClassLoader@3af4aa7a{vfsfile:/Users/edwin/appservers/jboss-5.1.0.GA-jdk6/server/activemq/conf/jboss-service.xml} interfaces={}] object class is [class=org.apache.activemq.ra.ActiveMQConnectionFactory classloader=BaseClassLoader@2145d1ef{vfsfile:/Users/edwin/appservers/jboss-5.1.0.GA-jdk6/server/activemq/deploy/activemq-rar-5.3.0.rar/} interfaces={interface=javax.jms.ConnectionFactory classloader=BaseClassLoader@3af4aa7a{vfsfile:/Users/edwin/appservers/jboss-5.1.0.GA-jdk6/server/activemq/conf/jboss-service.xml}, interface=javax.jms.QueueConnectionFactory classloader=BaseClassLoader@3af4aa7a{vfsfile:/Users/edwin/appservers/jboss-5.1.0.GA-jdk6/server/activemq/conf/jboss-service.xml}, interface=javax.jms.TopicConnectionFactory classloader=BaseClassLoader@3af4aa7a{vfsfile:/Users/edwin/appservers/jboss-5.1.0.GA-jdk6/server/activemq/conf/jboss-service.xml}, interface=javax.resource.Referenceable classloader=BaseClassLoader@3af4aa7a{vfsfile:/Users/edwin/appservers/jboss-5.1.0.GA-jdk6/server/activemq/conf/jboss-service.xml}, interface=java.io.Serializable classloader=null}]

{code}

 

The question is, do I need to add the messagingresource to the jbossts-properties.xml file?

If the answer is yes (which I think), how do I configure this for ActiveMQ?

 

Cheers,

 

Edwin