javax.transaction
Interface TransactionManager

All Known Implementing Classes:
DummyBaseTransactionManager (src) , TxManager (src)

public interface TransactionManager

The TransactionManager interface defines the methods that allow an application server to manage transactions on behalf of the applications.

User applications should not use this interface directly, but use UserTransaction (src) insted if they need to do their own transaction management.

Internally, the transaction manager associates transactions with threads, and the methods here operate on the transaction associated with the calling thread.


Method Summary
 void begin()
          Starts a new transaction, and associate it with the calling thread.
 void commit()
          Commit the transaction associated with the calling thread.
 int getStatus()
          Get the status of the transaction associated with the calling thread.
 Transaction (src) getTransaction()
          Get the transaction associated with the calling thread.
 void resume(Transaction (src)  tobj)
          Resume the association of the calling thread with the given transaction.
 void rollback()
          Rolls back the transaction associated with the calling thread.
 void setRollbackOnly()
          Mark the transaction associated with the calling thread for rollback only.
 void setTransactionTimeout(int seconds)
          Change the transaction timeout for transactions started by the calling thread with the begin() method.
 Transaction (src) suspend()
          Suspend the association the calling thread has to a transaction, and return the suspended transaction.
 

Method Detail

begin

public void begin()
           throws NotSupportedException (src) ,
                  SystemException (src) 
Starts a new transaction, and associate it with the calling thread.

Throws:
NotSupportedException (src) - If the calling thread is already associated with a transaction, and nested transactions are not supported.
SystemException (src) - If the transaction service fails in an unexpected way.

commit

public void commit()
            throws RollbackException (src) ,
                   HeuristicMixedException (src) ,
                   HeuristicRollbackException (src) ,
                   java.lang.SecurityException,
                   java.lang.IllegalStateException,
                   SystemException (src) 
Commit the transaction associated with the calling thread.

Throws:
RollbackException (src) - If the transaction was marked for rollback only, the transaction is rolled back and this exception is thrown.
java.lang.IllegalStateException - If the calling thread is not associated with a transaction.
SystemException (src) - If the transaction service fails in an unexpected way.
HeuristicMixedException (src) - If a heuristic decision was made and some some parts of the transaction have been committed while other parts have been rolled back.
HeuristicRollbackException (src) - If a heuristic decision to roll back the transaction was made.
java.lang.SecurityException - If the caller is not allowed to commit this transaction.

rollback

public void rollback()
              throws java.lang.IllegalStateException,
                     java.lang.SecurityException,
                     SystemException (src) 
Rolls back the transaction associated with the calling thread.

Throws:
java.lang.IllegalStateException - If the transaction is in a state where it cannot be rolled back. This could be because the calling thread is not associated with a transaction, or because it is in the prepared state.
java.lang.SecurityException - If the caller is not allowed to roll back this transaction.
SystemException (src) - If the transaction service fails in an unexpected way.

setRollbackOnly

public void setRollbackOnly()
                     throws java.lang.IllegalStateException,
                            SystemException (src) 
Mark the transaction associated with the calling thread for rollback only.

Throws:
java.lang.IllegalStateException - If the transaction is in a state where it cannot be rolled back. This could be because the calling thread is not associated with a transaction, or because it is in the prepared state.
SystemException (src) - If the transaction service fails in an unexpected way.

getStatus

public int getStatus()
              throws SystemException (src) 
Get the status of the transaction associated with the calling thread.

Returns:
The status of the transaction. This is one of the Status (src) constants. If no transaction is associated with the calling thread, Status.STATUS_NO_TRANSACTION is returned.
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.

getTransaction

public Transaction (src)  getTransaction()
                           throws SystemException (src) 
Get the transaction associated with the calling thread.

Returns:
The transaction associated with the calling thread, or null if the calling thread is not associated with a transaction.
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.

setTransactionTimeout

public void setTransactionTimeout(int seconds)
                           throws SystemException (src) 
Change the transaction timeout for transactions started by the calling thread with the begin() method.

Parameters:
seconds - The new timeout value, in seconds. If this parameter is 0, the timeout value is reset to the default value.
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.

suspend

public Transaction (src)  suspend()
                    throws SystemException (src) 
Suspend the association the calling thread has to a transaction, and return the suspended transaction. When returning from this method, the calling thread is no longer associated with a transaction.

Returns:
The transaction that the calling thread was associated with, or null if the calling thread was not associated with a transaction.
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.

resume

public void resume(Transaction (src)  tobj)
            throws InvalidTransactionException (src) ,
                   java.lang.IllegalStateException,
                   SystemException (src) 
Resume the association of the calling thread with the given transaction.

Parameters:
tobj - The transaction to be associated with the calling thread.
Throws:
InvalidTransactionException (src) - If the argument does not represent a valid transaction.
java.lang.IllegalStateException - If the calling thread is already associated with a transaction.
SystemException (src) - If the transaction service fails in an unexpected way.