A local transaction is managed by the resource manager itself therefore it can not ensure the atomicity of operations onto multiple resources. A local transaction uses the API provided by the resource. |
A global transactions are handled by a transaction manager that executes the two-phase commit protocol on multiple resource managers. A global transaction uses the javax.transaction.UserTransaction interface. |
Bean-managed transactions can use local and global transactions without any overlap. |