Распространение Bean Managed Transaction (BMT), каковы правила
Мой вопрос как-то концептуальный, а не конкретный случай... Я читал об управлении транзакциями, когда натолкнулся на распространение BMT (управляемых компонентом транзакций), и я знал, что BMT блокирует распространение транзакций в случае EJB, и пример был:
method1()
в CMT bean1
звонки method2()
в BMT bean2
-> здесь CMT приостановлен и не распространяется на другой компонент
у меня вопрос, а как насчет следующих случаев, транзакция также приостановлена или распространяется:
1- Применимо ли вышеизложенное ко всем типам компонентов и контекстам персистентности (т.е. если bean1
или же bean2
где Stateful
, Stateless
или же MDB
и если контекст персистентности либо был TRANSACTION_SCOPED
или же EXTENDED
2- method1()
в BMT bean1
звонки method2()
в BMT bean2
3- method1()
в BMT bean1
звонки method2()
в CMT bean2
(с обязательным атрибутом транзакции)