Я просто прочитал главу (10) "Операции над EJB 3.0" и теперь я запутался в вложенных транзакциях.
В книге говорится:
"Управляющий транзакцией, созданный EJB, не поддержка вложенных транзакций; он требует поддержки только плоских транзакций" (сайт 278, примечание)
Этот факт описан не только в этой книге, я нашел это выражение в других книгах/веб-сайтах.
Но если я называю "Требуемый новый" аннотированный метод из a, скажем, "Требуемый" аннотированный метод, то, что у меня есть вложенная транзакция, не так ли? Я могу откатить внутреннюю транзакцию или зафиксировать ее, не затрагивая внешнюю транзакцию. И если я хочу, чтобы внешняя транзакция была прервана, я возвращаю EJBException обратно, и вся транзакция будет отброшена.
Так просто, что это поведение не требуется по спецификации EJB 3.0 или я что-то не понял? Я просто не могу получить разницу между вложенными транзакциями и описанным поведением.
Отношения Норман