Announcement Announcement Module
No announcement yet.
Status.MARKED_AS_ROLLBACK is not supported by Transaction API Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Status.MARKED_AS_ROLLBACK is not supported by Transaction API


    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.


    ps: excuse me if did some english clerical errors in my post.

  • #2

    up. Nobody to give me information ?