就像其他地方建议的那样,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。我如何做到这一点?
最佳答案
在这里回答: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