Support for the Java Transaction API (JTA) in the OpenEdge SQL engine enables the OpenEdge RDBMS to participate in distributed SQL transactions. The JTA defines transaction management between a transaction manager and a resource manager within the standard J2EE framework architecture. In this scenario, OpenEdge is the resource manager and a SQL application server or client is the transaction manager. The database is not the ultimate authority on the distributed transaction. For details on J2EE and JTA, refer to your Java documentation.
When an OpenEdge database is configured as a resource manager for distributed JTA transactions, the transaction manager is responsible for establishing and maintaining the state of the transaction. The database receives an identifier for the global transaction context. It is possible that multiple threads of execution will process the transaction, impacting transaction processing in several ways:
It is possible for records to be locked by JTA transaction with no user associated with the lock.
It is possible for record locks to exist at database startup.