Hibernate EntityManager + JOTM: le transazioni non vengono utilizzati
-
20-09-2019 - |
Domanda
Sto cercando di integrare insieme JOTM e Hibernate EntityManager alla prova la mia EJB in un ambiente maniera transazionale, ma out-of-contenitore.
Il mio test è simile al seguente:
- Avvia JOTM
- Mettere UserTransaction di JOTM in JNDI
- Creare e configurare StandardXADataSource
- Mettere il DataSource in JNDI
- Configura hibernate e creare EMF
- Crea un EM
- Inizia una transazione
- Partecipa alla transazione nel EM
- Conservare un'entità
- Verifica è memorizzato
- rollback della transazione
- Controllare il database per il conteggio dei record
- strappo tutto giù
Ecco quello che il mio codice è simile: http://pastebin.com/m22a9f6b
Ecco l'output di registrazione: http://pastebin.com/m6da9383a
Il test fallisce il passaggio 12 (linea 121).
Come si può vedere, anche se ho roll-backed la transazione, v'è un record nel DB. Sembra che le operazioni in cui non utilizzati a tutti e il record ricevuti attraverso nel db.
Avete delle idee come questo potrebbe essere accadendo e come risolvere il problema?
Soluzione
ho capito ho bisogno di fornire la mia implementazione di ConnectionProvider che sarebbe tornato XAConnection invece di connessioni semplici. Questo transazioni modo sembrano funzionare