yes, when a bean throws a system exception to the container, the container kills the bean, does a rollback of the transaction, logs the exception and throws a RemoteException to remote clients and EJBException to local clients irrespective of whether it is CMT or BMT. This would typically happen immediately after the exception is thrown
Container does the rollback of transaction only if it has started the transaction. In case of BMT (according to specs 377, Table 16, page 378 Table 18), container only marks the transaction for rollback.
So my question once again: In case of
BMT after a system exception is thrown When does the rollback of txn happen ?