Bean-Managed Transaction
In bean-managed transaction mode, a container suspends any transaction associated with the client's request before invoking any remote method call on the bean instance.
If the instance is associated with a global transaction, container invokes the client request with this transaction context. When the bean uses javax.transaction.UserTransaction interface, container enlists all the resources used by the instance and coordinates the global transaction commit when the instance commits the transaction.
The stateful session bean can start the transaction in one business method and commit in another business method. In those cases, the container keeps the association information between the transaction and the instance and uses this transaction context for the following business calls until the transaction is ended (committed or rolled back).