为什么 bitronix (BTM) 不将用户事务绑定到 JNDI 中?
题
看起来 Bitronix 正如其他地方所建议的那样,工作得很好。然而,我被它的一个问题难住了。当我尝试保存会话时,我从 Hibernate 收到此异常 后 我打电话 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)
我看不到任何证据表明 Bitronix 将用户事务绑定到 JNDI。我怎样才能让它做到这一点?
解决方案
这是在这里回答的: https://github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/Hibernate2x.adoc#txManager
简而言之,除非您自己更改 Tomcat 配置,否则 BTM 无法自动将自身绑定到 Tomcat 的 JNDI 服务器。这里解释一下: https://github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/TomcatWithBtm2x.adoc
不隶属于 StackOverflow