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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

          void commit()
                      throws RollbackException,
                             HeuristicMixedException,
                             HeuristicRollbackException,
                             SecurityException,
                             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.
        `SecurityException` - Thrown to indicate that the thread is not allowed to commit the transaction.
        `IllegalStateException` - Thrown if the transaction in the target object is inactive.
        `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

    - #### delistResource

          boolean delistResource(XAResource xaRes,
                               int flag)
                                 throws 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:
        `IllegalStateException` - Thrown if the transaction in the target object is inactive.
        `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

    - #### enlistResource

          boolean enlistResource(XAResource xaRes)
                                 throws RollbackException,
                                        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.
        `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

          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

          void registerSynchronization(Synchronization sync)
                                       throws RollbackException,
                                              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.
        `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

          void rollback()
                        throws IllegalStateException,
                               SystemException

      Rollback the transaction represented by this Transaction object.
      Throws:
        `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

          void setRollbackOnly()
                               throws 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:
        `IllegalStateException` - Thrown if the target object is not associated with any transaction.
        `SystemException` - Thrown if the transaction manager encounters an unexpected error condition.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.