This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
A client runs in an active transaction that is marked for rollback. Now the client calls a business method of a CMT bean those transaction attribute is one of the following: REQUIRED, SUPPORTS, MANDATORY.
Does anyone know if / where the behavoir of the bean is specified in the specs ?
In the spec some times the term "valid transaction context" is used. Is the transaction context in the scenario above considered "valid" ?
I think finally I could able to find the spec explanation for your and mine doubt.
See 14.3.8 and 188.8.131.52
The javax.ejb.EJBTransactionRolledbackException and javax.ejb.TransactionRolledbackLocalException are subclasses of the javax.ejb.EJBException. The javax.transaction.TransactionRolledbackException is a subclass of the java.rmi.RemoteException. It is defined in the JTA standard extension.
If a client receives one of these exceptions, the client knows for certain that the transaction has been marked for rollback. It would be fruitless for the client to continue the transaction because the transaction can never commit.