Package com.sun.jts.CosTransactions
Class XATerminatorImpl
- java.lang.Object
-
- com.sun.jts.CosTransactions.XATerminatorImpl
-
- All Implemented Interfaces:
jakarta.resource.spi.XATerminator
public class XATerminatorImpl extends Object implements jakarta.resource.spi.XATerminator
This is used for transaction completion and crash recovery flows.- Version:
- 1.0
- Author:
- Ram Jeyaraman
-
-
Constructor Summary
Constructors Constructor Description XATerminatorImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommit(Xid xid, boolean onePhase)Commits the global transaction specified by xid.voidforget(Xid xid)Tells the resource manager to forget about a heuristically completed transaction branch.intprepare(Xid xid)Ask the resource manager to prepare for a transaction commit of the transaction specified in xid.Xid[]recover(int flag)Obtains a list of prepared transaction branches from a resource manager.voidrollback(Xid xid)Informs the resource manager to roll back work done on behalf of a transaction branch.
-
-
-
Method Detail
-
commit
public void commit(Xid xid, boolean onePhase) throws XAException
Commits the global transaction specified by xid.- Specified by:
commitin interfacejakarta.resource.spi.XATerminator- Parameters:
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.- Throws:
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.
-
forget
public void forget(Xid xid) throws XAException
Tells the resource manager to forget about a heuristically completed transaction branch.- Specified by:
forgetin interfacejakarta.resource.spi.XATerminator- Parameters:
xid- A global transaction identifier.- Throws:
XAException- An error has occurred. Possible exception values are XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.
-
prepare
public int prepare(Xid xid) throws XAException
Ask the resource manager to prepare for a transaction commit of the transaction specified in xid.- Specified by:
preparein interfacejakarta.resource.spi.XATerminator- Parameters:
xid- A global transaction identifier.- Returns:
- A value indicating the resource manager's vote on the
outcome of the transaction. The possible values are: XA_RDONLY
or XA_OK. These constants are defined in
javax.transaction.xa.XATerminatorinterface. If the resource manager wants to roll back the transaction, it should do so by raising an appropriate XAException in the prepare method. - Throws:
XAException- An error has occurred. Possible exception values are: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.
-
recover
public Xid[] recover(int flag) throws XAException
Obtains a list of prepared transaction branches from a resource manager. The transaction manager calls this method during recovery to obtain the list of transaction branches that are currently in prepared or heuristically completed states.- Specified by:
recoverin interfacejakarta.resource.spi.XATerminator- Parameters:
flag- One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS must be used when no other flags are set in the parameter. These constants are defined injavax.transaction.xa.XATerminatorinterface.- Returns:
- The resource manager returns zero or more XIDs of the transaction branches that are currently in a prepared or heuristically completed state. If an error occurs during the operation, the resource manager should throw the appropriate XAException.
- Throws:
XAException- An error has occurred. Possible values are XAER_RMERR, XAER_RMFAIL, XAER_INVAL, and XAER_PROTO.
-
rollback
public void rollback(Xid xid) throws XAException
Informs the resource manager to roll back work done on behalf of a transaction branch.- Specified by:
rollbackin interfacejakarta.resource.spi.XATerminator- Parameters:
xid- A global transaction identifier.- Throws:
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.
-
-