Skip navigation links

Oracle®Database JDBC Java API Reference
12c Release 1 (12.1.0.2)
E56669-01


oracle.jdbc.xa
Class OracleXid

java.lang.Object
  extended by oracle.jdbc.xa.OracleXid

All Implemented Interfaces:
Serializable, Xid

public class OracleXid
extends Object
implements Xid, Serializable

The OracleXid class:

See Also:
Serialized Form

Field Summary
static int MAXBQUALSIZE
           
static int MAXGTRIDSIZE
           
static boolean TRACE
           

 

Constructor Summary
OracleXid(int fId, byte[] gId, byte[] bId)
          OracleXid() -- The constructor that constructs an OracleXid with given formatId, global transacrion Id and branch qualifier.
OracleXid(int fId, byte[] gId, byte[] bId, byte[] context)
          OracleXid() -- The constructor that constructs an OracleXid with given formatId, global transacrion Id and branch qualifier, and transaction context.

 

Method Summary
 byte[] getBranchQualifier()
          getBranchQualifier() -- Obtain the txn branch qualifier of the XID
protected  oracle.jdbc.internal.OracleConnection getConnectionDuringExceptionHandling()
          Compares the given transaction identifiers with this.
 int getFormatId()
          getFormatId() -- Obtain the format identifier part of the Xid.
 byte[] getGlobalTransactionId()
          getGlobalTransactionId() -- Obtain the global txn id of the XID
static boolean isLocalTransaction(Xid xid)
           

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

MAXGTRIDSIZE

public static final int MAXGTRIDSIZE
See Also:
Constant Field Values

MAXBQUALSIZE

public static final int MAXBQUALSIZE
See Also:
Constant Field Values

TRACE

public static final boolean TRACE
See Also:
Constant Field Values

Constructor Detail

OracleXid

public OracleXid(int fId,
                 byte[] gId,
                 byte[] bId)
          throws XAException
OracleXid() -- The constructor that constructs an OracleXid with given formatId, global transacrion Id and branch qualifier.
Parameters:
fId - format ID
gId - global transaction ID (no copy performed)
bId - branch Qualifier (no copy performed)
Throws:
XAException - if the size of gId or bId is more than 64 bytes

OracleXid

public OracleXid(int fId,
                 byte[] gId,
                 byte[] bId,
                 byte[] context)
          throws XAException
OracleXid() -- The constructor that constructs an OracleXid with given formatId, global transacrion Id and branch qualifier, and transaction context.
Parameters:
fId - format ID
gId - global transaction ID (no copy performed)
bId - branch Qualifier (no copy performed)
context - transation context (no copy performed)
Throws:
XAException - if the size of gId or bId is more than 64 bytes

Method Detail

getFormatId

public int getFormatId()
getFormatId() -- Obtain the format identifier part of the Xid.
Specified by:
getFormatId in interface Xid
Returns:
Format identifier. 0 means the OSI CCR format.

getGlobalTransactionId

public byte[] getGlobalTransactionId()
getGlobalTransactionId() -- Obtain the global txn id of the XID
Specified by:
getGlobalTransactionId in interface Xid
Returns:
A byte array containing the global transaction identifier.

getBranchQualifier

public byte[] getBranchQualifier()
getBranchQualifier() -- Obtain the txn branch qualifier of the XID
Specified by:
getBranchQualifier in interface Xid
Returns:
A byte array containing the branch qualifier of the transaction.

isLocalTransaction

public static final boolean isLocalTransaction(Xid xid)

getConnectionDuringExceptionHandling

protected oracle.jdbc.internal.OracleConnection getConnectionDuringExceptionHandling()
Compares the given transaction identifiers with this. If the format is different or any byte in the global transaction if or the branch qualifier differs from this, then false is returned. public boolean equals(Object obj) { if(obj==this) return true; OracleXid xid =null; try { xid = (OracleXid)obj; } catch(ClassCastException e){ return false; } if(formatId != xid.getFormatId()) return false; byte[] gtridB = xid.getGlobalTransactionId(); byte[] bqualB = xid.getBranchQualifier(); if(gtrid != gtridB){ if( (gtrid == null && gtridB != null) || (gtridB == null && gtrid != null) ) return false; if(gtridB!=null){ if(gtridB.length != gtrid.length) return false; for(int i=0;i<gtrid.length;i++){ if(gtridB[i] != gtrid[i]) return false; } } } if(bqual != bqualB){ if( ( bqualB == null && bqual != null) || (bqual == null && bqualB != null) ) return false; if(bqualB!=null){ if(bqualB.length != bqual.length) return false; for(int i=0;i<bqualB.length;i++){ if(bqualB[i] != bqual[i]) return false; } } } return true; } public int hashCode() { int ret = formatId; int temp = 0; for(int i=0;i<gtrid.length/4;i++){ temp = (int)gtrid[i] + ((int)(gtrid[i+1]<<8))&0xff00 + ((int)(gtrid[i+2]<<16))&0xff0000 + ((int)(gtrid[i+3]<<24))&0xff000000; ret += temp; } for(int i=0;i<bqual.length/4;i++){ temp = (int)bqual[i] + ((int)(bqual[i+1]<<8))&0xff00 + ((int)(bqual[i+2]<<16))&0xff0000 + ((int)(bqual[i+3]<<24))&0xff000000; ret += temp; } return ret; }

Skip navigation links

Oracle®Database JDBC Java API Reference
12c Release 1 (12.1.0.2)
E56669-01


Copyright © 2008, 2014, Oracle and/or its affiliates. All rights reserved.