Por que não é bitronix (BTM) ligação a transação usuário em JNDI?
Pergunta
Looks como Bitronix, como sugerido em outros lugares, funciona muito bem. No entanto, estou perplexo por um problema com ele. Eu recebo esta exceção do Hibernate, quando eu tentar salvar a sessão após eu chamo 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)
Eu não consigo ver nenhuma evidência de que Bitronix se liga a transação usuário JNDI. Como faço para torná-lo fazer isso?
Solução
Esta é respondida aqui: https://github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/Hibernate2x.adoc#txManager
Em poucas palavras, não há nenhuma maneira para BTM para automaticamente ligam-se ao servidor JNDI do Tomcat a menos que você mudar o Tomcat config-se. Isto é explicado aqui: https: / /github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/TomcatWithBtm2x.adoc