Hibernate EntityManager + JOTM: as transações não são usadas
-
20-09-2019 - |
Pergunta
Estou tentando integrar juntos o JOTM e o Hibernate EntityManager para testar meus EJBs em um ambiente de maneira transacional, mas fora de contagem.
Meu teste parece o seguinte:
- Comece a notar
- Coloque a transação de usuários de Jotm em JNDI
- Crie e configure o StandardXadatasource
- Coloque o DataSource no JNDI
- Configure o Hibernate e crie EMF
- Crie um EM
- Comece uma transação
- Junte -se à transação em Em
- Armazene uma entidade
- Verifique se está armazenado
- Reversão da transação
- Verifique o banco de dados para a contagem de registros
- Derrubar tudo
Aqui está como é o meu código:http://pastebin.com/m22a9f6b
Aqui está a saída de log:http://pastebin.com/m6da9383a
O teste falha na etapa 12 (linha 121).
Como você pode ver, mesmo que eu tenha atingido a transação, há um registro no banco de dados. Parece transações onde não são usadas e o registro entrou no banco de dados.
Você tem alguma idéia de como isso pode estar acontecendo e como corrigi -lo?
Solução
Eu descobri que preciso fornecer minha própria implementação do ConnectionProvider que retornaria a Xaconnection em vez de conexões simples. Dessa forma, as transações parecem funcionar