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:

  1. Comece a notar
  2. Coloque a transação de usuários de Jotm em JNDI
  3. Crie e configure o StandardXadatasource
  4. Coloque o DataSource no JNDI
  5. Configure o Hibernate e crie EMF
  6. Crie um EM
  7. Comece uma transação
  8. Junte -se à transação em Em
  9. Armazene uma entidade
  10. Verifique se está armazenado
  11. Reversão da transação
  12. Verifique o banco de dados para a contagem de registros
  13. 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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top