Esse erro acontece quando tento abrir a segunda conexão de banco dentro de um método num EJB Stateless SessionBean. Alguém já teve esse problema? Como resolveu?
Eu não tive esse problema ainda, mas, tem um tópico no guj falando sobre: http://www.guj.com.br/java/262011-resolvido-problema-com-recurso-xa-em-2-ejbs#1369978
[]'s
Roger75 , vamos intender o conceito de XA,
Definição de Gerenciador de recurso-
sua aplicação acessa um gerenciador de recurso para se comunicar com uma persistencia por exemplo , que pode ser banco de dados(Obs: cada servidor de BD usa um gerenciador de recurso) , MQ SERIES , EIS( Sistema legado ), JCA etc…
Cada um desses tem um Gerenciador de recurso, quando seu EJB acessa apenas um gerenciador de recurso você pode ter transações que não seja XA, agora quando sua aplicação acessa varios gerenciador de recurso, é criado por debaixo dos panos um Gerenciador de transações e este que se comunica com o Gerenciador de recurso, para sua aplicação se comunicar com Gerenciador de transação vc tem que “definir” manualmente que esta comunicação ultiliza XA.
Geralmente vc define isto quando cria sua origem de dados (Data Source) no Servidor de aplicação.
Resumidamente, vc tem que alterar seus data sources para se comunicar via XA no Servidor de aplicação
Setei a conexão como sendo javx.sql.XADatasource e também o campo “Non Transactional Connections”, nas Connection Pools do Glassfish e parece que resolveu, até o momento. Valeu.