java为什么bitronix(BTM)不将用户事务绑定到JNDI?
正如其他地方所建议的那样,看起来Bitronix工作得非常好。然而,我被它的一个问题难住了。当我在调用TransactionManager.begin()
之后试图保存会话时,我从Hibernate得到了这个异常:
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。我该怎么做
# 1 楼答案
这里的答案是: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