public interface XATerminator
The XATerminator interface is used for transaction completion and crash recovery flows.
| Modifier and Type | Method and Description | 
|---|---|
| void | commit(javax.transaction.xa.Xid xid,
      boolean onePhase)Commits the global transaction specified by xid. | 
| void | forget(javax.transaction.xa.Xid xid)Tells the resource manager to forget about a heuristically
 completed transaction branch. | 
| int | prepare(javax.transaction.xa.Xid xid)Ask the resource manager to prepare for a transaction commit
 of the transaction specified in xid. | 
| javax.transaction.xa.Xid[] | recover(int flag)Obtains a list of prepared transaction branches from a resource
 manager. | 
| void | rollback(javax.transaction.xa.Xid xid)Informs the resource manager to roll back work done on behalf
 of a transaction branch. | 
void commit(javax.transaction.xa.Xid xid,
            boolean onePhase)
     throws javax.transaction.xa.XAException
xid - A global transaction identifieronePhase - If true, the resource manager should use a one-phase
 commit protocol to commit the work done on behalf of xid.javax.transaction.xa.XAException - An error has occurred. Possible XAExceptions
 are XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR,
 XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.
 If the resource manager did not commit the transaction and the parameter onePhase is set to true, the resource manager may throw one of the XA_RB* exceptions. Upon return, the resource manager has rolled back the branch's work and has released all held resources.
void forget(javax.transaction.xa.Xid xid)
     throws javax.transaction.xa.XAException
xid - A global transaction identifier.javax.transaction.xa.XAException - An error has occurred. Possible exception
 values are XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or
 XAER_PROTO.int prepare(javax.transaction.xa.Xid xid)
     throws javax.transaction.xa.XAException
xid - A global transaction identifier. javax.transaction.xa.XAResource interface. 
 If the resource manager wants to roll back the
 transaction, it should do so by raising an appropriate XAException
 in the prepare method.javax.transaction.xa.XAException - An error has occurred. Possible exception
 values are: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL,
 or XAER_PROTO.javax.transaction.xa.Xid[] recover(int flag)
                            throws javax.transaction.xa.XAException
flag - One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
 must be used when no other flags are set in the parameter. These
 constants are defined in javax.transaction.xa.XAResource 
 interface.javax.transaction.xa.XAException - An error has occurred. Possible values are
 XAER_RMERR, XAER_RMFAIL, XAER_INVAL, and XAER_PROTO.void rollback(javax.transaction.xa.Xid xid)
       throws javax.transaction.xa.XAException
xid - A global transaction identifier.javax.transaction.xa.XAException - An error has occurred. Possible XAExceptions are
 XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL,
 XAER_NOTA, XAER_INVAL, or XAER_PROTO.
 If the transaction branch is already marked rollback-only the resource manager may throw one of the XA_RB* exceptions. Upon return, the resource manager has rolled back the branch's work and has released all held resources.