com.arjuna.ats.arjuna.coordinator
Class RecordType

java.lang.Object
  extended bycom.arjuna.ats.arjuna.coordinator.RecordType

public class RecordType
extends java.lang.Object

The following enumerated type defines the types of record that are derived from AbstractRecord. The type also defines the order in which these types may be held by an AtomicAction if a record refers to the same object (as defined by the AbstractRecord operator== operation). Since records are processed sequentially during an AtomicAction operation the ordering below also defines the order in which each operation is invoked. Hence a LOCK type record will always have operations invoked before an RPCTERMINATE type record. This ordering is important otherwise some records may negate the effects of other record, e.g. during the top_level_commit operation a RPCTERMINATE record terminates a server - this should not occur before the server record has sent the final Commit rpc.

Since:
JTS 1.0.
Version:
$Id: RecordType.java 2342 2006-03-30 13:06:17Z $
Author:
Mark Little (mark@arjuna.com)

Field Summary
static int ACTIVATION
           
static int CADAVER
           
static int DISPOSE
           
static int JTA_RECORD
           
static int JTAX_RECORD
           
static int LASTRESOURCE
          The following is for a one-phase aware resource that we enlist in a two-phase commit transaction using the last resource commit optimization.
static int LOCK
           
static int NAMING
           
static int NONE_RECORD
           
static int OTS_ABSTRACTRECORD
           
static int OTS_RECORD
           
static int PERSISTENCE
           
static int RECOVERY
          The values are used by the system records.
static int REPLICATION
           
static int RPCCADAVER
           
static int RPCCALL
           
static int RPCINITIATE
           
static int RPCTERMINATE
          Note that RPCTERMINATE is deliberately late in the list otherwise the server would be terminated BEFORE the user records were processed.
static int TXLOG_PERSISTENCE
           
static int UNTYPED
           
static int USER_DEF_FIRST0
          The following values are provided for user-defined records that should have operations invoked BEFORE the system records.
static int USER_DEF_FIRST1
           
static int USER_DEF_FIRST2
           
static int USER_DEF_FIRST3
           
static int USER_DEF_FIRST4
           
static int USER_DEF_FIRST5
           
static int USER_DEF_FIRST6
           
static int USER_DEF_FIRST7
           
static int USER_DEF_FIRST8
           
static int USER_DEF_FIRST9
           
static int USER_DEF_LAST0
          The following values are provided for user-defined records that should have operations invoked AFTER the system records.
static int USER_DEF_LAST1
           
static int USER_DEF_LAST2
           
static int USER_DEF_LAST3
           
static int USER_DEF_LAST4
           
static int USER_DEF_LAST5
           
static int USER_DEF_LAST6
           
static int USER_DEF_LAST7
           
static int USER_DEF_LAST8
           
static int USER_DEF_LAST9
           
static int XTS_RECORD
           
 
Constructor Summary
RecordType()
           
 
Method Summary
static int classNameToType(ClassName cn)
           
static void print(java.io.PrintWriter strm, int rt)
          Print a human-readable version of the lock type.
static ClassName typeToClassName(int rt)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USER_DEF_FIRST0

public static final int USER_DEF_FIRST0
The following values are provided for user-defined records that should have operations invoked BEFORE the system records.

See Also:
Constant Field Values

USER_DEF_FIRST1

public static final int USER_DEF_FIRST1
See Also:
Constant Field Values

USER_DEF_FIRST2

public static final int USER_DEF_FIRST2
See Also:
Constant Field Values

USER_DEF_FIRST3

public static final int USER_DEF_FIRST3
See Also:
Constant Field Values

USER_DEF_FIRST4

public static final int USER_DEF_FIRST4
See Also:
Constant Field Values

USER_DEF_FIRST5

public static final int USER_DEF_FIRST5
See Also:
Constant Field Values

USER_DEF_FIRST6

public static final int USER_DEF_FIRST6
See Also:
Constant Field Values

USER_DEF_FIRST7

public static final int USER_DEF_FIRST7
See Also:
Constant Field Values

USER_DEF_FIRST8

public static final int USER_DEF_FIRST8
See Also:
Constant Field Values

USER_DEF_FIRST9

public static final int USER_DEF_FIRST9
See Also:
Constant Field Values

RECOVERY

public static final int RECOVERY
The values are used by the system records.

See Also:
Constant Field Values

PERSISTENCE

public static final int PERSISTENCE
See Also:
Constant Field Values

TXLOG_PERSISTENCE

public static final int TXLOG_PERSISTENCE
See Also:
Constant Field Values

LOCK

public static final int LOCK
See Also:
Constant Field Values

ACTIVATION

public static final int ACTIVATION
See Also:
Constant Field Values

OTS_RECORD

public static final int OTS_RECORD
See Also:
Constant Field Values

OTS_ABSTRACTRECORD

public static final int OTS_ABSTRACTRECORD
See Also:
Constant Field Values

XTS_RECORD

public static final int XTS_RECORD
See Also:
Constant Field Values

JTA_RECORD

public static final int JTA_RECORD
See Also:
Constant Field Values

JTAX_RECORD

public static final int JTAX_RECORD
See Also:
Constant Field Values

REPLICATION

public static final int REPLICATION
See Also:
Constant Field Values

NAMING

public static final int NAMING
See Also:
Constant Field Values

CADAVER

public static final int CADAVER
See Also:
Constant Field Values

DISPOSE

public static final int DISPOSE
See Also:
Constant Field Values

RPCCALL

public static final int RPCCALL
See Also:
Constant Field Values

RPCINITIATE

public static final int RPCINITIATE
See Also:
Constant Field Values

USER_DEF_LAST0

public static final int USER_DEF_LAST0
The following values are provided for user-defined records that should have operations invoked AFTER the system records.

See Also:
Constant Field Values

USER_DEF_LAST1

public static final int USER_DEF_LAST1
See Also:
Constant Field Values

USER_DEF_LAST2

public static final int USER_DEF_LAST2
See Also:
Constant Field Values

USER_DEF_LAST3

public static final int USER_DEF_LAST3
See Also:
Constant Field Values

USER_DEF_LAST4

public static final int USER_DEF_LAST4
See Also:
Constant Field Values

USER_DEF_LAST5

public static final int USER_DEF_LAST5
See Also:
Constant Field Values

USER_DEF_LAST6

public static final int USER_DEF_LAST6
See Also:
Constant Field Values

USER_DEF_LAST7

public static final int USER_DEF_LAST7
See Also:
Constant Field Values

USER_DEF_LAST8

public static final int USER_DEF_LAST8
See Also:
Constant Field Values

USER_DEF_LAST9

public static final int USER_DEF_LAST9
See Also:
Constant Field Values

RPCTERMINATE

public static final int RPCTERMINATE
Note that RPCTERMINATE is deliberately late in the list otherwise the server would be terminated BEFORE the user records were processed.

See Also:
Constant Field Values

RPCCADAVER

public static final int RPCCADAVER
See Also:
Constant Field Values

UNTYPED

public static final int UNTYPED
See Also:
Constant Field Values

NONE_RECORD

public static final int NONE_RECORD
See Also:
Constant Field Values

LASTRESOURCE

public static final int LASTRESOURCE
The following is for a one-phase aware resource that we enlist in a two-phase commit transaction using the last resource commit optimization. It's prepare must go off after all other records.

See Also:
Constant Field Values
Constructor Detail

RecordType

public RecordType()
Method Detail

typeToClassName

public static ClassName typeToClassName(int rt)
Returns:
the ClassName representing this type.
See Also:
ClassName

classNameToType

public static int classNameToType(ClassName cn)
Returns:
the int value representing this ClassName.
See Also:
ClassName

print

public static void print(java.io.PrintWriter strm,
                         int rt)
Print a human-readable version of the lock type.