Почему bitronix (BTM) не привязывает пользовательскую транзакцию к JNDI?
Вопрос
Похоже, Bitronix, как предлагалось в другом месте, работает очень хорошо.Однако я поставлен в тупик одной проблемой, связанной с этим.Я получаю это исключение из гибернации, когда пытаюсь сохранить сеанс после Я зову 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
В двух словах, BTM не может автоматически привязываться к серверу JNDI Tomcat, если вы сами не измените конфигурацию Tomcat.Это объясняется здесь: https://github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/TomcatWithBtm2x.adoc