Olá pessoal, tudo bem?
Então, estou passando por um problema sério: preciso fazer o JBoss trabalhar com transação distribuída.
Deixa eu explicar o contexto, para facilitar: tenho duas aplicações rodando no JBoss que, por razões específicas, estão sendo executadas com o classloader isolado. Além disso, o acesso aos EJBs das aplicações está sendo feito via CORBA.
Configurei o JBossTS conforme fala o manual que se encontra no link https://www.jboss.org/file-access/default/members/jbosstm/downloads/4.2.3.SP5/notes/jts_install.txt
Como ainda estou em fase de testes, meus EJBs não contém regras complexas. No caso, o primeiro EJB que é acessado (aplicação 1) coloca uma mensagem na fila e em seguida chama um EJB (aplicação 2). O segundo EJB também coloca uma mensagem na fila.
O resultado esperado desse teste é que as mensagens só apareçam na fila caso a transação como um todo se complete. Acontece que após a execução do método do segundo EJB eu forço um rollback (mySessionContext.setRollbackOnly()), porém, a mensagem colocada na fila pelo segundo EJB aparece no MQ, e a mensagem colocada pelo primeiro EJB não aparece, acredito que em virtude de estar respeitando a política transacional aplicada (nos dois casos está configurado REQUIRED).
Gostaria de saber se alguém faz idéia do que precisa ser configurado no JBoss/JBossTs para que a transação seja compartilhada por todo o processo.
Um abraço a todos que puderem colaborar.
Rodrigo