-
Feb 10th, 2012, 03:55 PM
#1
Status.MARKED_AS_ROLLBACK is not supported by Transaction API
Bonjour,
We use @Transactional (Spring 3.0.3.RELEASE) for transaction management in our business services.
But we have a problem when using EjbContext.setRollbackOnly() with a ejb called by a transactional business service.
EjbContext.setRollbackOnly() set the jta transaction status as STATUS_MARKED_AS_ROLLBACK.
When back to Spring, TransactionInterceptor call commit on PlatformTransactionManager (JtaTransactionManager).
The commit method then throw an UnexceptedRollbackException (JBoss [EAP 4.2.3] throw a RollbackException before when Spring try to commit).
Indeed, Spring checks the status of the jta transaction but only for STATUS_NO_TRANSACTION and STATUS_ROLLBACK and not for STATUS_MARKED_AS_ROLLBACK.
We fix the problem by decorating the JtaTransactionManager and propagating the rollback to spring in the commit method if the jta transaction status is equals to STATUS_MARKED_AS_ROLLBACK.
Could someone explain to me why spring doesn't support the status STATUS_MARKED_AS_ROLLBACK ??
Thank you for your help.
Nordine.
ps: excuse me if did some english clerical errors in my post.
-
Feb 14th, 2012, 03:26 PM
#2
up
up. Nobody to give me information ?
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules