Как JTA Transaction Managers развертывается во время выполнения?

Попытка обернуть мою голову вокруг JTA и произвольно выбрал Bitronix в качестве impl, потому что к документации было проще добраться (в отличие от Atmikos, который заставляет вас зарегистрироваться и зарегистрироваться, чтобы попасть в src/docs/jars/etc.).

Если я хочу использовать Bitronix в качестве своей реализации JTA (используя Tomcat и GlassFish), то какова его базовая архитектура (которая может быть просто базовой архитектурой самого JTA)? Является ли менеджер транзакций реальным сервером / средой выполнения, к которой я подключаюсь (например, JMS-брокер)? Или это просто API, который я могу настроить и использовать всякий раз, когда мне нужна транзакция?

Я понимаю, что JTA есть:

  • Ваш код
  • Диспетчер ресурсов - адаптер для некоторой совместимости с ACID (например, хранилище данных или брокер сообщений)
  • Менеджер транзакций - управляет вызовами API транзакций между вашим кодом и менеджером ресурсов.

Является ли Bitronix просто диспетчером транзакций и, если это так, является отдельным приложением, отдельным JAR/WAR, который должен быть развернут вместе с вашим, или он запускается "встроенным" в ваше приложение? Заранее спасибо!

1 ответ

Решение

Он работает внутри Tomcat и доступен через JNDI, как и все другие менеджеры транзакций JTA. Весь процесс внедрения Bitronix с Tomcat описан здесь.

Обратите внимание, что нет смысла использовать Bitronix с Glassfish, поскольку Glassfish является полнофункциональным сервером приложений Java EE и, следовательно, уже имеет менеджер транзакций JTA.

Другие вопросы по тегам