While an enterprise bean instance is associated with a transaction it must not access resource manager specific transaction demarcation API.
The EJB architecture don't support nested (child) transactions. If the bean is in a transaction then it can't demarcate another transaction boundaries. I supose that *transaction demarcation API* is javax.transaction.UserTransaction's methods.
I supose that *transaction demarcation API* is javax.transaction.UserTransaction's methods.
I don't suppose so... See  p.334 of the spec:
The terms resource-manager udsed in this chapter refer to the ressources declared in the deployment descriptor using the resource-ref element. This includes not only databases resources, but also JMS connections...these resources are considered to be all managed by the container
While an instance is in a transaction, the instance must not attempt to use the resource-manager specific transaction demarcation API i.e must not commit or rollback method on the java.sql.Connection interface or on the javax.jms.Session interface
in case of BMT cf spec p.340 �17.3.3, it's probably because nested transactions are not allowed. in case of CMT, cf spec p.348 �17.3.4, its's because
you shouldn't interfere with the Container's demarcation of transaction boundaries