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
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.
Only when the method throws a RuntimeException is the transaction marked as rollback only. If it's an application exception or the exception is caught within the method the transaction is committed.