Package tyrex.tm.xid

Transaction Identifiers

Version:
$Revision: 1.1 $ $Date: 2001/02/27 00:37:53 $
Author:
Assaf Arkin

Transaction identifiers are abstracted by the Xid interface (javax.transaction.xa.Xid) which conforms to the Open X/A specification.

See: Description

Package tyrex.tm.xid Description:

Transaction Identifiers

Version:
$Revision: 1.1 $ $Date: 2001/02/27 00:37:53 $
Author:
Assaf Arkin

Transaction identifiers are abstracted by the Xid interface (javax.transaction.xa.Xid) which conforms to the Open X/A specification. A transaction identifier consists of a format identifier, a global transaction identifier, and a branch qualifier.

Transaction identifiers are often converted to and from a string representation. The string representation is used various places where an Xid object cannot be used. All transaction identifiers use the following format: xid:format-[<global>][-<branch>]. The prefix is always 'xid' and the format is always 32-bit long. The format identifier, global transaction identifier and branch qualifier are encoded as sequences of hexadeciaml digits.

In order to support a string representation, equality test and provide a hash code, all transaction identifiers must be derived from a common implementation. When an Xid object is obtained from a remote transaction server, it is imported into an internal implementation that fulfills these requirements.

XidUtils is a utility class for creating transaction identifiers, importing Xid objects, and converting a transaction identifier to/from a string representation.

LocalXid is an efficient implementation of a local transaction. A local transaction identifier has an empty global transaction identifier and unique branch qualifier.

GlobalXid is an efficient implementation of a global transaction. Branch transactions created from this transaction identifier are implemented by BranchXid.

ExternalXid is used for all distributed transactions and branches created externally.

Original code is Copyright (c) 1999-2001, Intalio, Inc. All Rights Reserved. Contributions by MetaBoss team are Copyright (c) 2003-2005, Softaris Pty. Ltd. All Rights Reserved.