- java.lang.Object
-
- org.hsqldb.jdbc.pool.JDBCXID
-
- All Implemented Interfaces:
javax.transaction.xa.Xid
public class JDBCXID extends java.lang.Object implements javax.transaction.xa.XidImplementation 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)
-
-
Constructor Summary
Constructors Constructor Description JDBCXID(int formatID, byte[] txID, byte[] txBranch)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object other)byte[]getBranchQualifier()intgetFormatId()byte[]getGlobalTransactionId()static javax.transaction.xa.XidgetUniqueXid(int threadId)Retrieves a randomly generated JDBCXID.inthashCode()java.lang.StringtoString()
-
-
-
Method Detail
-
getFormatId
public int getFormatId()
- Specified by:
getFormatIdin interfacejavax.transaction.xa.Xid
-
getGlobalTransactionId
public byte[] getGlobalTransactionId()
- Specified by:
getGlobalTransactionIdin interfacejavax.transaction.xa.Xid
-
getBranchQualifier
public byte[] getBranchQualifier()
- Specified by:
getBranchQualifierin interfacejavax.transaction.xa.Xid
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getUniqueXid
public static javax.transaction.xa.Xid getUniqueXid(int threadId)
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
-
-