Pourquoi bitronix (BTM) ne lie-t-il pas la transaction utilisateur à JNDI?
Question
On dirait que Bitronix, comme suggéré ailleurs, fonctionne très bien. Cependant, je suis perplexe par un problème avec elle. Je reçois cette exception de Hibernate lorsque je tente de sauvegarder la session après , j’appelle TransactionManager.begin()
:
14:21:32,350 ERROR [JTATransaction] Could not find UserTransaction in JNDI
javax.naming.NameNotFoundException: Name UserTransaction is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:769)
Je ne vois aucune preuve que Bitronix lie la transaction utilisateur à JNDI. Comment est-ce que je le fais faire cela?
La solution
Ceci est résolu ici: https://github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/Hibernate2x.adoc#txManager
En résumé, il n’existe aucun moyen pour BTM de se connecter automatiquement au serveur JNDI de Tomcat à moins que vous ne modifiiez vous-même la configuration de Tomcat. Ceci est expliqué ici: https: / /github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/TomcatWithBtm2x.adoc