Hello,
i read a lot of books about the transaction handling (cmt, bmt, and so on). In one of these books i found the following statement (translated from german):
There are two ways to rollback a transaction in beans (CMT). First way is throwing an EJBException. The second is calling the method getRollbackOnly(). If an EJBException is thrown, the application server cannot use this instance any more.