-
Task
-
Resolution: Done
-
Major
-
EJB 3.0 RC9 - FD
-
None
-
None
The current implementation of BaseSessionContext.getRollbackOnly will return true if the current transaction context has status Status.STATUS_MARKED_ROLLBACK.
If using JBossTS, a transaction timeout results in the transaction being rolled back asynchronously (not just marked for rollback). Code using the getRollbackOnly method as an indicator of the current transaction status will not function as expected.
The transaction status undergoes the following transition
Status.STATUS_ACTIVE -> Status.STATUS_ROLLING_BACK -> Status.STATUS_ROLLEDBACK.
Extending getRollbackOnly to check for Status.STATUS_MARKED_ROLLBACK, Status.STATUS_ROLLING_BACK and Status.STATUS_ROLLEDBACK will allow this code to function as expected.
- is related to
-
JBAS-3847 Extend EJBContext.getRollbackOnly to cover transactions which have been asynchronously rolled back
-
- Closed
-
-
EJBTHREE-1445 getRollbackOnly is not allowed after completion of the transaction
-
- Resolved
-