EJB: éviter la restauration de transaction

Lorsqu'un (transactionnel) méthode d'un EJB appelle une autre (transactionnel) méthode d'un autre EJB, et une exception est levée dans le second, mais piégé dans la première, il semble que la transaction est automatiquement annulée lorsque la seconde renvoie, même si la première attrape, est-ce vrai? comment puis-je l'éviter?

Le scénario est le suivant:

@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() }
}

source d'informationauteur edutesoy