Java Transaction API (JTA) allows transactions to span more than one resource. So, for example, a transaction can span two databases, or a database and a JMS Server.
The main integration point is the interface
javax.transaction.TransactionManager
. It allows to manage transactions as well
as to enlist transactional resources. Only resources that are enlisted with a transaction
are taking part in transactions coordinated by it.
The main interface for user code is javax.transaction.UserTransaction
. It
allows to begin, commit and rollback transactions but not to enlist resources.
See also the JTA 1.2 API.