Como configurar o conector JCA do ActiveMQ no JBoss para usar conexões XA?

No JBoss 5.1.0, tenho a fonte de dados (PostgreSQL 8.3.11) configurada usando * -ds.xml (DS padrão do jboss). Ele usa XADataSource (PGXADataSource) Eu também tenho o broker ActiveMQ (agora ele roda como in-VM, no JBoss, mas ele estará em outro servidor posteriormente).

O que eu quero fazer é fazer com que o ActiveMQ Connection Factory e a fonte de dados participem das transações XA. Por exemplo, quero atualizar o registro do banco de dados e enviar uma mensagem JMS como uma UOW. Você entendeu a ideia.

Eu configurei PGXADataSource em my-pg-ds.xml e ele funciona (eu posso rastrear a execução atéMétodo de início do PGXAConnection) Eu tentei configurarActiveMQXAConnectionFactory diretamente no Spring (eu estou usando o Spring 3.0.2.RELEASE), mas isso não funciona, porque nesse caso, o gerenciador de transações do Spring (eu uso a anotação para permitir que o Spring configureJtaTransactionManager que simplesmente delega todo o trabalho ao gerenciador de transações do Jboss) não inscreve o XAResource porActiveMQXAConnection. Sempre que tento enviar uma mensagem, recebo uma exceção JMSException dizendo "O XAResource da sessão não foi incluído em uma transação distribuída". jogado deActiveMQXASession.

Como isso não funcionou, mudei para a configuração JCA do ActiveMQ ConnectionFactory (com base emesta documento) e funciona regularmenteConnectionFactory, mas não entendo como configurá-lo para usar o XAConnectionFactory. Parece queAdaptador de Recursos simplesmente não possui implementações ManagedConnectionFactory, ManagedConnection etc. para o connection factory XA.

Estou faltando alguma coisa ou não tenho escolha a não ser gravar wrappers XA para o adaptador de recursos?

questionAnswers(1)

yourAnswerToTheQuestion