Как CMT и BMT управляются в EJB? - PullRequest
3 голосов
/ 17 июля 2011

Как управляются CMT и BMT?

Согласно моему пониманию, Управляемые транзакциями контейнера выполняются с помощью JTA, который поддерживается сервером приложений, а не веб-серверами, такими как tomcat.

CMT обрабатываются реализацией менеджера транзакций, которая специфична для каждого сервера приложений, который внутренне читает файл ejb-jar.xml и применяет поведение.

BMT разграничены с помощью класса пользовательской транзакции в Java API.

Правильно ли вышеприведенное понимание?

1 Ответ

3 голосов
/ 18 июля 2011

Да, это правильно. Еще несколько деталей транзакции:

Для CMT контейнер EJB также отвечает за реализацию EJBContext.setRollbackOnly и isRollbackOnly, делегируя текущей транзакции откат транзакции при исключении.

Для BMT контейнер EJB также отвечает за создание исключения, если транзакция UserTransaction не завершена до завершения метода для SLSB и singleton. Для SFSB он отвечает за приостановку пользовательских транзакций в конце метода и возобновление их при следующем вызове метода.

...