hi,
I supose that *transaction demarcation API* is javax.transaction.UserTransaction's methods.
I don't suppose so...
See [27] 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
and p.340:
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
Sometimes, it's worth reading the spec;-)
Regards,
Cyril.
[ November 18, 2004: Message edited by: cyril vidal ]