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.transaction
Interface Transaction

public interface Transaction

The Transaction interface allows operations to be performed against the transaction in the target Transaction object. A Transaction object is created corresponding to each global transaction creation. The Transaction object can be used for resource enlistment, synchronization registration, transaction completion, and status query operations.

Method Summary
`void` | `commit()` Complete the transaction represented by this Transaction object.
`boolean` | `delistResource(XAResource xaRes, int flag)` Disassociate the resource specified from the transaction associated with the target Transaction object.
`boolean` | `enlistResource(XAResource xaRes)` Enlist the resource specified with the transaction associated with the target Transaction object.
`int` | `getStatus()` Obtain the status of the transaction associated with the target Transaction object.
`void` | `registerSynchronization(Synchronization sync)` Register a synchronization object for the transaction currently associated with the target object.
`void` | `rollback()` Rollback the transaction represented by this Transaction object.
`void` | `setRollbackOnly()` Modify the transaction associated with the target object such that the only possible outcome of the transaction is to roll back the transaction.

Method Detail

### commit

    public void commit()
                throws RollbackException,
                       HeuristicMixedException,
                       HeuristicRollbackException,
                       java.lang.SecurityException,
                       java.lang.IllegalStateException,
                       SystemException

  Complete the transaction represented by this Transaction object.

  Throws:
    `RollbackException` - Thrown to indicate that the transaction has been rolled back rather than committed.
    `HeuristicMixedException` - Thrown to indicate that a heuristic decision was made and that some relevant updates have been committed while others have been rolled back.
    `HeuristicRollbackException` - Thrown to indicate that a heuristic decision was made and that all relevant updates have been rolled back.
    `java.lang.SecurityException` - Thrown to indicate that the thread is not allowed to commit the transaction.
    `java.lang.IllegalStateException` - Thrown if the transaction in the target object is inactive.
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

### delistResource

    public boolean delistResource(XAResource xaRes,
                                  int flag)
                           throws java.lang.IllegalStateException,
                                  SystemException

  Disassociate the resource specified from the transaction associated with the target Transaction object.

  Parameters:
    `xaRes` - The XAResource object associated with the resource (connection).
    `flag` - One of the values of TMSUCCESS, TMSUSPEND, or TMFAIL.
  Returns:
    true if the resource was delisted successfully; otherwise false.
  Throws:
    `java.lang.IllegalStateException` - Thrown if the transaction in the target object is inactive.
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

### enlistResource

    public boolean enlistResource(XAResource xaRes)
                           throws RollbackException,
                                  java.lang.IllegalStateException,
                                  SystemException

  Enlist the resource specified with the transaction associated with the target Transaction object.

  Parameters:
    `xaRes` - The XAResource object associated with the resource (connection).
  Returns:
    true if the resource was enlisted successfully; otherwise false.
  Throws:
    `RollbackException` - Thrown to indicate that the transaction has been marked for rollback only.
    `java.lang.IllegalStateException` - Thrown if the transaction in the target object is in the prepared state or the transaction is inactive.
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

### getStatus

    public int getStatus()
                  throws SystemException

  Obtain the status of the transaction associated with the target Transaction object.

  Returns:
    The transaction status. If no transaction is associated with the target object, this method returns the Status.NoTransaction value.
  Throws:
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

### registerSynchronization

    public void registerSynchronization(Synchronization sync)
                                 throws RollbackException,
                                        java.lang.IllegalStateException,
                                        SystemException

  Register a synchronization object for the transaction currently associated with the target object. The transction manager invokes the beforeCompletion method prior to starting the two-phase transaction commit process. After the transaction is completed, the transaction manager invokes the afterCompletion method.

  Parameters:
    `sync` - The Synchronization object for the transaction associated with the target object.
  Throws:
    `RollbackException` - Thrown to indicate that the transaction has been marked for rollback only.
    `java.lang.IllegalStateException` - Thrown if the transaction in the target object is in the prepared state or the transaction is inactive.
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

### rollback

    public void rollback()
                  throws java.lang.IllegalStateException,
                         SystemException

  Rollback the transaction represented by this Transaction object.

  Throws:
    `java.lang.IllegalStateException` - Thrown if the transaction in the target object is in the prepared state or the transaction is inactive.
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

### setRollbackOnly

    public void setRollbackOnly()
                         throws java.lang.IllegalStateException,
                                SystemException

  Modify the transaction associated with the target object such that the only possible outcome of the transaction is to roll back the transaction.

  Throws:
    `java.lang.IllegalStateException` - Thrown if the target object is not associated with any transaction.
    `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

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.