Distributed transaction

1 resposta
lupontes

Estou construindo uma aplicação J2EE com um CMP e um BMP cada um mapeando tabelas em bases de dados diferentes, consequentemente tenho um data source e um connection poll para cada base de dados. Como Application server estou usando o SUN Application Server conectado a base de dados MySQL. No meu session tenho um método que acessa Beans de ambas bases de dados e desta forma, ao executar este método tenho o seguinte erro:

[#|2006-07-12T21:11:47.182-0300|INFO|sun-appserver-pe8.2|javax.enterprise.system.stream.out|_ThreadID=15;|
[#|2006-07-12T21:11:47.182-0300|SEVERE|sun-appserver-pe8.2|javax.enterprise.resource.resourceadapter|_ThreadID=15;|RAR5029:Unexpected exception while registering component
java.lang.IllegalStateException: Local transaction already has 1 non-XA Resource: cannot add more resources.

Já pesquisei que tenho que ativar a transações distribuidas para garantir o ROLL BACK em ambos bancas de dados em caso de exceção porém ainda não descobri como fazé-lo.
alguém pode me ajudar nesta empreitada?

Desde já agradecido pela força.

1 Resposta

louds

Transações distribuidas podem ter no máximo um recurso que não suporte XA, você deveria saber disso se quer usar transações distribuidas.

Minha sugestão é você estudar direito o assunto, pois é bem complexo e exibe um um conhecimento para poder sair fazendo.

Quanto ao seu problema, utilize driver e resources com suporte a XA, veja como na documentação do teu banco como fazer isso.

Criado 12 de julho de 2006
Ultima resposta 13 de jul. de 2006
Respostas 1
Participantes 2