EJB 3.0 - Вложенная транзакция != Требуется новая?

Я только что прочитал главу «Транзакции» (10) «Освоение EJB 3.0», и теперь я запутался во вложенных транзакциях.

В книге говорит

: «Определенный EJB менеджер транзакций не поддержка вложенных транзакций; требуется поддержка только плоских транзакций." (Сайт 278, Примечание)

Этот факт описан не только в этой книге, я нашел это утверждение в других книгах/веб-сайтах.

Но если я назову "Требуется новый" аннотированный метод из, скажем, «обязательный» аннотированный метод, у меня есть вложенная транзакция, не так ли? Я могу откатить внутреннюю транзакцию или зафиксировать ее, не затрагивая внешнюю транзакцию. И если я хочу, чтобы внешняя транзакция была прервана, я возвращаю исключение EJBException, и вся транзакция будет отменена.

Значит, это просто не требуетсяспецификацией EJB 3.0, или я что-то неправильно понял? Я просто не могу понять разницу между вложенными транзакциями и описанным поведением.

С уважением Norman

25
задан NorRen 30 May 2012 в 13:59
поделиться