Тип транзакции EJB

Я искал исчерпывающую статью об этом и еще не нашел достаточно хорошей.

Может ли кто-нибудь объяснить мне работу типов транзакций? (Required, RequiresNew, Mandatory, Never...) и, главным образом, как они влияют на вызовы службы между службами разных типов?


person Nuno Furtado    schedule 15.04.2009    source источник


Ответы (4)


Руководство разработчика по управлению транзакциями EJB кажется мне довольно исчерпывающим руководством.

person cletus    schedule 15.04.2009

Enterprise Java Beans 3.0 Билла Бёрка и Ричарда Монсона Хефеля — отличный справочник по всему, что связано с EJB3. Атрибуты txn на самом деле довольно просты. В основном вы используете их на уровне метода в EJB, используя аннотацию.

  1. Требуется означает, что для запуска этого метода требуется txn. Если вызывающий абонент был в txn, он будет использоваться. Если нет, будет создан и использован новый txn.
  2. RequiresNew означает, что для запуска этого метода необходим новый txn. Если вызывающий абонент был в txn, он будет приостановлен, и будет создан и использован новый txn. Если не будет создан и использован новый txn
  3. Обязательный означает, что вызывающая сторона должна быть в txn при вызове указанного метода. В противном случае возникает ошибка.
  4. Поддерживает означает, что методу все равно, был ли вызывающий абонент в txn или нет.
  5. NotSupported — если вызывающий объект находился в txn, этот txn будет приостановлен, и метод будет запущен без txn.
  6. Никогда - то же, что и NotSupported, но этот вызов вызовет ошибку, если у вызывающего абонента был txn, но NotSupported не вызовет ошибку.
person OpenSource    schedule 24.07.2009


Освоение Enterprise JavaBeans 3.0, Wiley.

Доступен бесплатно по адресу:

http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss

См. гл. 10.

person Conor    schedule 06.10.2009