Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

CMT in JAVAEE5.0

 
walter wang
Ranch Hand
Posts: 159
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear all,

I encounter a roll back problem for my transactions in my stateless session ( implemented under EJB3.0 standard ).

According to below quoted sentence from JAVAEE5.0 Tutorial.

If I didnot explicitly mark transaction for my stateless session's methods
then all those methods are automatically Contain transactin managed , is it correct?
but it seems .the method doesnot roll back successfully when a exception happened inside it. I used JBoss4.0 + Stateless SessinBean (no explicit transacation demarcation used ).

Any hints? Is it a transacatin problem from JBoss or my misunderstanding to
CMT for Stateless Session Bean?

Thanks in advances



Container-Managed Transactions

In an enterprise bean with container-managed transaction demarcation, the EJB container sets the boundaries of the transactions. You can use container-managed transactions with any type of enterprise bean: session, or message-driven. Container-managed transactions simplify development because the enterprise bean code does not explicitly mark the transaction's boundaries. The code does not include statements that begin and end the transaction.

By default if no transaction demarcation is specified enterprise beans use container-managed transaction demarcation.
 
walter wang
Ranch Hand
Posts: 159
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I found the reason
cos I should only throw SystemException, then CMT can roll back correctly
SystemException is the sub class Exception of EJBException
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic