Class ResourcedTransaction


  • public class ResourcedTransaction
    extends java.lang.Object
    Transaction allowing resources to be enlisted, with branches and phased commit, following the style of an Open/XA transaction. Enlisted resources are typically datastore resources which, in turn, need committing.
    • Field Detail

      • random

        public static final java.util.Random random
        Random number generator, for use when needing unique names.
      • NODE_ID

        private static final int NODE_ID
        id of this instance
      • NEXT_GLOBAL_TRANSACTION_ID

        private static int NEXT_GLOBAL_TRANSACTION_ID
        sequence number for global transactions
      • nextBranchId

        private int nextBranchId
        number for next branch
      • xid

        private final javax.transaction.xa.Xid xid
        transaction id
      • status

        private int status
        transaction status
      • completing

        private boolean completing
        has completing started ?
      • synchronization

        private java.util.List<javax.transaction.Synchronization> synchronization
        Synchonization
      • enlistedResources

        private java.util.List<javax.transaction.xa.XAResource> enlistedResources
        enlisted XAResource resources
      • branches

        private java.util.Map<javax.transaction.xa.Xid,​javax.transaction.xa.XAResource> branches
        branches - each resource is a new branch
      • activeBranches

        private java.util.Map<javax.transaction.xa.XAResource,​javax.transaction.xa.Xid> activeBranches
        active branches are resources that have not ended and are not suspended
      • suspendedResources

        private java.util.Map<javax.transaction.xa.XAResource,​javax.transaction.xa.Xid> suspendedResources
        suspended branches
      • idString

        private final java.lang.String idString
    • Constructor Detail

      • ResourcedTransaction

        ResourcedTransaction()
    • Method Detail

      • getStatus

        public int getStatus()
      • isEnlisted

        public boolean isEnlisted​(javax.transaction.xa.XAResource xaRes)
      • enlistResource

        public boolean enlistResource​(javax.transaction.xa.XAResource xaRes)
      • delistResource

        public boolean delistResource​(javax.transaction.xa.XAResource xaRes,
                                      int flag)
      • registerSynchronization

        public void registerSynchronization​(javax.transaction.Synchronization sync)
      • commit

        public void commit()
      • rollback

        public void rollback()
      • setRollbackOnly

        public void setRollbackOnly()
      • getXAErrorCode

        public static java.lang.String getXAErrorCode​(java.lang.Throwable xae)
      • getXAFlag

        private static java.lang.String getXAFlag​(int flag)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object