В следующих настройках метод B выполняется в (новой) транзакции?
EJB, имеющий два метода, метод A и метод B
public class MyEJB implements SessionBean
public void methodA() {
doImportantStuff();
methodB();
doMoreImportantStuff();
}
public void methodB() {
doDatabaseThing();
}
}
EJB управляется контейнером, метод methodB - в транзакции require_new, а метод A - в требуемой транзакции. таким образом:
<container-transaction id="MethodTransaction_1178709616940">
<method id="MethodElement_1178709616955">
<ejb-name>MyName</ejb-name>
<method-name>*</method-name>
<trans-attribute>Required</trans-attribute>
</method>
<method id="MethodElement_1178709616971">
<ejb-name>MyName</ejb-name>
<method-name>methodB</method-name>
</method>
<trans-attribute>RequiresNew</trans-attribute>
</container-transaction>
Теперь позвольте другому EJB вызывать метод A с вызовом метода EJB.
methodA теперь выполняется в транзакции. Будет ли последующий вызов methodB из methodA выполняться в той же транзакции или в новой транзакции?
(обратите внимание, это фактический код здесь. Нет явного вызова ejb для метода B)