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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method 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,
                    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

        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

        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

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

        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

        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.