javax.transaction
Interface Transaction


public interface Transaction

The Transaction interface allows operations to be performed against the transaction in the target Transactioin 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)
          Delist the resource specified from the current transaction associated with the calling thread.
 boolean enlistResource(XAResource xaRes)
          Enlist the resource specified with the current transaction context of the calling thread
 int getStatus()
          Obtain the status of the transaction associated with the current thread.
 void registerSynchronization(Synchronization sync)
          Register a synchronization object for the transaction currently associated with the calling thread.
 void rollback()
          Rollback the transaction represented by this Transaction object.
 void setRollbackOnly()
          Modify the transaction associated with the current thread 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,
                   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 some 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 current thread is not associated with a transaction.
SystemException - Thrown if the transaction manager encounters an unexpected error condition

delistResource

public boolean delistResource(XAResource xaRes,
                              int flag)
                       throws java.lang.IllegalStateException,
                              SystemException
Delist the resource specified from the current transaction associated with the calling thread.
Parameters:
xaRes - The XAResource object representing the resource to delist
flag - One of the values of TMSUCCESS, TMSUSPEND, or TMFAIL.
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 current transaction context of the calling thread
Parameters:
xaRes - The XAResource object representing the resource to delist
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 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 current thread.
Returns:
The transaction status. If no transaction is associated with the current thread, 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 calling thread. The transction manager invokes the beforeCompletion method prior to starting the 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 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 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 current thread such that the only possible outcome of the transaction is to roll back the transaction.
Throws:
java.lang.IllegalStateException - Thrown if the current thread is not associated with any transaction.
SystemException - Thrown if the transaction manager encounters an unexpected error condition