J2EE Compliance: Java Transaction API and javax.sql Extensions
Page 3 of 4

The JTA API

The JTA API is made up of the two interfaces and one exception that are part of the java.transaction.xa package. Cloudscape fully implements this API.

Notes on Product Behavior

Recovered Global Transactions

Using the XAResource.prepare call causes a global transaction to enter a prepared state, which allows it to be persistent. Typically, the prepared state is just a transitional state before the transaction outcome is determined. However, if the system crashes, recovery puts transactions in the prepared state back into that state and awaits instructions from the transaction manager.

XAConnections and User Names and Passwords

If a user opens an XAConnection with a user name and password, the transaction it created cannot be attached to an XAConnection opened with a different user name and password. A transaction created with an XAConnection without a user name and password can be attached to any XAConnection.

However, the user name and password for recovered global transactions are lost; any XAConnection can commit or roll back that in-doubt transaction.

NOTE: Cloudscape's XADataSources can only be local. No remote (client/server) support is provided.