- 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.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)
-
-
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 boolean
equals(java.lang.Object other)
byte[]
getBranchQualifier()
int
getFormatId()
byte[]
getGlobalTransactionId()
static javax.transaction.xa.Xid
getUniqueXid(int threadId)
Retrieves a randomly generated JDBCXID.int
hashCode()
java.lang.String
toString()
-
-
-
Method Detail
-
getFormatId
public int getFormatId()
- Specified by:
getFormatId
in interfacejavax.transaction.xa.Xid
-
getGlobalTransactionId
public byte[] getGlobalTransactionId()
- Specified by:
getGlobalTransactionId
in interfacejavax.transaction.xa.Xid
-
getBranchQualifier
public byte[] getBranchQualifier()
- Specified by:
getBranchQualifier
in interfacejavax.transaction.xa.Xid
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in 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
threadId
and 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
-
-