Overview | Package | Class | Tree | Deprecated | Index | Help
| J2EE1.4 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.resource.spi
Interface XATerminator

public interface XATerminator

The XATerminator interface is used for transaction completion and crash recovery flows.

Version:
  1.0
Author:
  Ram Jeyaraman

Method Summary
`void` | `commit(Xid xid, boolean onePhase)` Commits the global transaction specified by xid.
`void` | `forget(Xid xid)` Tells the resource manager to forget about a heuristically completed transaction branch.
`int` | `prepare(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.
`void` | `rollback(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.

  Parameters:
    `xid` - A global transaction identifier
    `onePhase` - 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.

  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.

  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.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.
  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.

  Parameters:
    `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.
  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.

  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.

Overview | Package | Class | Tree | Deprecated | Index | Help
| J2EE1.4 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature

Copyright 2003 Sun Microsystems, Inc. All rights reserved.