EJB: избежать отката транзакции

Когда (транзакционный) метод одного 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() }
}
18
задан Mr.Eddart 13 December 2011 в 14:30
поделиться