Ответ 1
Я новичок в JTA и руководители транзакций. Может ли кто-нибудь объяснить плюсы и минусы каждого из них? Не стесняйтесь добавлять другие, которые я не перечислял в названии.
Автономные менеджеры транзакций, о которых я знаю, включают Bitronix, SimpleJTA, Tyrex (dead?), JOTM (используется в Jonas), GeronimoTM/Jencks (используется в Geronimo), JBossTS (используется в JBoss) и Atomikos.
Я никогда не тестировал их полностью (и это то, что вам нужно было бы сделать, если вам нужно выбрать один), поэтому я не могу предоставить исчерпывающие плюсы и минусы (и это потребует некоторой работы). Но вот несколько ссылок:
- Менеджер транзакций для автономных приложений Java (обратите внимание на некоторые из них с плюсами/минусами)
- O (ручка) S (ource) Менеджеры транзакций JTA
- Re: [xmlblaster-devel] Соответствие JTA
На всякий случай, вот моя очень личная точка зрения:
- Я видел много жалоб на JOTM.
- Я думаю, что GeronimoTM/Jencks не хватает документации.
- SimpleJTA не реализует JTS и неактивен.
- Bitronix имеет приличную документацию, но не предлагает поддержки.
- Atomikos - впечатляющий продукт, хорошо документированный и предлагает поддержку.
- JBossTS aka ArjunaTS определенно является зрелым продуктом (см. объявление о приобретении для некоторой истории) и предлагает поддержку.
Лично я бы отменил Atomicos и JBossTS и протестировал их хардкор, если бы мне пришлось выбирать один.
Кроме того, не имеют ли главные серверы приложений (WebSphere, JBoss, Glassfish) собственный менеджер транзакций JTA?
Конечно, они делают, JTA является частью спецификации Java EE, сервер Java EE должен ее поддерживать.
В этих средах вы все равно будете использовать эти сторонние реализации?
Нет, я бы использовал предоставленный менеджер транзакций (для простоты, поддержки и т.д.).