Я плохо знаком с JTA, и он лежит в основе менеджеров транзакций. Кто-либо может объяснить профессионалов/недостатки каждого из них? Не стесняйтесь добавлять других, которых я не перечислял в заголовке.
Кроме того, не серверы основных приложений (WebSphere, JBoss, Glassfish) имеют свой собственный совместимый менеджер транзакций JTA? В тех средах Вы все еще использовали бы эти сторонние реализации?
Я новичок в JTA и лежащих в ее основе менеджерах транзакций. Может ли кто-нибудь объяснить плюсы/минусы каждого из них? Не стесняйтесь добавить другие, которые я не перечислил в заголовке.
Автономные менеджеры транзакций, о которых я знаю, включают Bitronix, SimpleJTA, Tyrex (умер? ), JOTM (используется в Jonas), GeronimoTM/Jencks (используется в Geronimo), JBossTS (используется в JBoss) и Atomikos.
Я никогда не тестировал их все подробно (и это то, что вы должны будете сделать, если вам придется выбирать один), поэтому я не могу предоставить исчерпывающий обзор "за/против" (и это потребует некоторой работы). Но вот некоторые ссылки:
На всякий случай, вот моя очень личная точка зрения:
Лично я бы выбрал Atomikos и JBossTS и жестко протестировал их, если бы мне пришлось выбирать.
Также, разве основные серверы приложений (WebSphere, JBoss, Glassfish) не имеют свой собственный JTA-совместимый менеджер транзакций?
Конечно, есть, JTA является частью спецификации Java EE, сервер Java EE должен его поддерживать.
В таких средах вы бы все равно использовали эти сторонние реализации?
Нет, я бы использовал предоставленный менеджер транзакций (для простоты, поддержки и т.д.).