Когда (транзакционный) метод одного EJB вызывает другой (транзакционный) метод другого EJB, и исключение выбрасывается во втором, но ловится в первом, кажется, что транзакция автоматически откатывается, когда второй возвращается, даже если первый ловит его, это правда? Как этого избежать?
Сценарий следующий:
@Stateless
class ClassA {
@EJB
ClassB objectB;
methodA() {
try {
objectB.methodB();
}
catch(Exception e) {
//Here the transaction started in this method is
//automatically rolled back. Is this avoidable?
}
}
}
@Stateless
class ClassB {
methodB() throws Exception { throw new Exception() }
}