Class JDBCXID
java.lang.Object
org.hsqldb.jdbc.pool.JDBCXID
- All Implemented Interfaces:
Xid
Implementation of Xid for tests.
// Example usage:
JDBCXADataSource ds = new JDBCXADataSource();
ds.setUser(user);
ds.setPassword(password);
ds.setUrl(jdbcUrl);
XAConnection xaCon = ds.getConnection();
Connection con = xaCon.getConnection();
Xid xid = JDBCXID.getUniqueXid((int)Thread.currentThread().getId());
XAResource xaRes = xaCon.getXAResource();
// Start the transaction.
System.out.println("Starting XA transaction with xid = " + xid.toString());
xaRes.setTransactionTimeout(0);
xaRes.start(xid,XAResource.TMNOFLAGS);
// Do work here ....
// Commit the transaction.
xaRes.end(xid,XAResource.TMSUCCESS);
xaRes.commit(xid,true);
// Cleanup.
con.close();
xaCon.close();
- Author:
- Fred Toussi (fredt@users dot sourceforge.net), Campbell Burnet (campbell-burnet@users dot sourceforge.net)
-
Field Summary
Fields inherited from interface Xid
MAXBQUALSIZE, MAXGTRIDSIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbyte[]intbyte[]static XidgetUniqueXid(int threadId) Retrieves a randomly generated JDBCXID.inthashCode()toString()
-
Constructor Details
-
JDBCXID
public JDBCXID(int formatID, byte[] txID, byte[] txBranch)
-
-
Method Details
-
getFormatId
public int getFormatId()- Specified by:
getFormatIdin interfaceXid
-
getGlobalTransactionId
public byte[] getGlobalTransactionId()- Specified by:
getGlobalTransactionIdin interfaceXid
-
getBranchQualifier
public byte[] getBranchQualifier()- Specified by:
getBranchQualifierin interfaceXid
-
hashCode
-
equals
-
toString
-
getUniqueXid
Retrieves a randomly generated JDBCXID.The newly generated object is based on the local IP address, the given
threadIdand a randomly generated number using the current time in milliseconds as the random seed.Note that java.util.Random is used, not java.security.SecureRandom.
- Parameters:
threadId- can be a real thread id or just some convenient tracking value.- Returns:
- a randomly generated JDBCXID
-