I fail to understand why getRollBackOnly () and setRollbackOnly() methods of SessionContext can not be called inside ejbRemove(),ejbCreate(),ejbPassivate(),ejbActivate() methods, where as the UserTransaction reference is accessible. Does it mean that those methods will never run inside a CMT tx but possibly inside Bean managed transaction ?