¿Cómo configurar el conector ActiveMQ JCA en JBoss para usar conexiones XA?

En JBoss 5.1.0 tengo Datasource (PostgreSQL 8.3.11) configurado usando * -ds.xml (estándar jboss DS). Utiliza XADataSource (PGXADataSource) También tengo el agente ActiveMQ (en este momento se ejecuta como en VM, en JBoss, pero estará en un servidor separado más adelante).

Lo que quiero hacer es hacer que ActiveMQ Connection Factory y Datasource participen en transacciones XA. Por ejemplo, quiero actualizar el registro DB y enviar un mensaje JMS como UOW. Tienes la idea.

Configuré PGXADataSource en my-pg-ds.xml y funciona (puedo rastrear la ejecución hastaMétodo de inicio de PGXAConnection) He intentado configurarActiveMQXAConnectionFactory directamente en Spring (estoy usando Spring 3.0.2.RELEASE), pero esto no funciona, porque en este caso Spring transacción manager (uso anotaciones para permitir que Spring configureJtaTransactionManager que simplemente delega todo el trabajo al administrador de transacciones de Jboss) no incluye XAResource porActiveMQXAConnection. Cada vez que intento enviar un mensaje, recibo una excepción JMSException que dice "XAResource de la sesión no se ha incluido en una transacción distribuida". arrojado desdeActiveMQXASession.

Como eso no funcionó, he cambiado a la configuración JCA de ActiveMQ ConnectionFactory (basado enesta documento) y funciona para regularConnectionFactory, pero no entiendo cómo puedo configurarlo para usar XAConnectionFactory. Parece queAdaptador de recursos simplemente no tiene implementaciones adecuadas de ManagedConnectionFactory, ManagedConnection, etc. para la fábrica de conexiones XA.

¿Me estoy perdiendo algo o no tengo más remedio que escribir envoltorios XA para el adaptador de recursos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta