Package com.arjuna.mw.wst11
Class UserTransaction
java.lang.Object
com.arjuna.mw.wst11.UserTransaction
This is the interface that allows transactions to be started and terminated.
The messaging layer converts the Commit, Rollback and Notify messages into
calls on this.
Importantly, a UserTransaction does not represent a specific transaction,
but rather is responsible for providing access to an implicit per-thread
transaction context; it is similar to the UserTransaction in the JTA
specification. Therefore, all of the UserTransaction methods implicitly act
on the current thread of control.
- Since:
- XTS 1.0.
- Version:
- $Id: UserTransaction.java,v 1.8.4.1 2005/11/22 10:36:05 kconner Exp $
- Author:
- Mark Little (mark.little@arjuna.com)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
begin()
Start a new transaction.abstract void
begin
(int timeout) Start a new transaction with the specified timeout as its lifetime.abstract void
commit()
The transaction is committed by the commit method.abstract int
Returning timeout of the transaction as it was defined when it begun.abstract UserTransaction
get the user subordinate transaction this is a UserTransaction whose begin method will create an interposed AT transactionstatic UserTransaction
Get the user transaction.abstract void
rollback()
The rollback operation will terminate the transaction and return normally if it succeeded, while throwing an appropriate exception if it didn't.static void
setUserTransaction
(UserTransaction userTransaction) Set the user transaction.abstract String
-
Constructor Details
-
UserTransaction
public UserTransaction()
-
-
Method Details
-
getUserTransaction
Get the user transaction.- Returns:
- the user transaction.
-
setUserTransaction
Set the user transaction.- Parameters:
userTransaction
- The user transaction.
-
getUserSubordinateTransaction
get the user subordinate transaction this is a UserTransaction whose begin method will create an interposed AT transaction -
begin
Start a new transaction. If one is already associated with this thread then the WrongStateException will be thrown. Upon success, this operation associates the newly created transaction with the current thread.- Throws:
WrongStateException
SystemException
-
begin
Start a new transaction with the specified timeout as its lifetime. If one is already associated with this thread then the WrongStateException will be thrown.- Throws:
WrongStateException
SystemException
-
commit
public abstract void commit() throws TransactionRolledBackException, UnknownTransactionException, SecurityException, SystemException, WrongStateExceptionThe transaction is committed by the commit method. This will execute the PhaseZero, 2PC and OutcomeNotification protocols prior to returning. If there is no transaction associated with the invoking thread then WrongStateException is thrown. If the coordinator is not aware of the current transaction UnknownTransactionException is thrown. If the transaction ultimately rolls back then the TransactionRolledBackException is thrown. If any other error occurs a SystemException is thrown. When complete, this operation disassociates the transaction from the current thread such that it becomes associated with no transaction. -
rollback
public abstract void rollback() throws UnknownTransactionException, SecurityException, SystemException, WrongStateExceptionThe rollback operation will terminate the transaction and return normally if it succeeded, while throwing an appropriate exception if it didn't. If there is no transaction associated with the invoking thread then WrongStateException is thrown. If the coordinator is not aware of the current transaction UnknownTransactionException is thrown. If any other error occurs a SystemException is thrown. When complete, this operation disassociates the transaction from the current thread such that it becomes associated with no transaction. -
transactionIdentifier
-
getTimeout
public abstract int getTimeout()Returning timeout of the transaction as it was defined when it begun.
-