Using XA with the network client driver

You can access XA support for the Network Server by using the network client driver's XA DataSource interface.

You can use the org.apache.derby.jdbc.ClientXADataSource class on Java SE 5 and above (except Java SE 8 Compact Profiles), in applications that call JDBC 3 or JDBC 4.0 methods. You can use the org.apache.derby.jdbc.ClientXADataSource40 class on Java SE 6 and above (except Java SE 8 Compact Profiles), in applications that call JDBC 4.1 or JDBC 4.2 methods. You must use the org.apache.derby.jdbc.BasicClientXADataSource40 class on Java SE 8 Compact Profile 2 or 3.

If your client is running on the Java SE 6 platform or higher, all connection objects returned from the DataSource will be JDBC 4 connection objects, whether or not you are using a DataSource whose name ends in "40".

The following example illustrates how to obtain an XA connection with the network client driver:

import org.apache.derby.jdbc.ClientXADataSource;
import javax.sql.XAConnection;
...

XAConnection xaConnection = null;
Connection conn = null;

ClientXADataSource ds = new ClientXADataSource();

ds.setDatabaseName ("sample");
ds.setCreateDatabase("create");

ds.setServerName("localhost");
ds.setPortNumber(1527);

xaConnection = ds.getXAConnection("auser", "shhhh");

conn = xaConnection.getConnection();