Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
    Bookmark Topic Watch Topic
  • New Topic

CMT setRollbackOnly(), RollabackException  RSS feed

Sandeep Vaid
Ranch Hand
Posts: 392
  • Mark post as helpful
  • send pies
  • Report post to moderator
[P-189] of EJB3 In Action: "In case of transactions propagated from the client, if our method indicates that the transaction should be rolled back, the container
will not only roll back the whole transaction but will also throw a javax.transaction.RollbackException back to the client."

a) I tested this scenario, the container is not throwing RollbackException.Moreover nothing of this sort is written in EJB3 specs.
b) When will contianer rollback the transaction?? Here 2 cases can occur:
case i) When this method is NOT called from transactional client.. In this case the container mark the transaction to be rolledback (at the
statement where exception occurs) and will actully rollback transaction at method end.
case ii) When this method is called from transactional client. Suppose a BMT started a UserTransaction and called a CMT method,
In this case this CMT method will join the callers transaction. Now will the container simply marks the transaction to be rolledback and
the BMT method should check this flag and then only either rollback or commit the transaction ??
Jaikiran Pai
Posts: 10447
IntelliJ IDE Ubuntu
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!