public abstract class TransactionManagerImpl extends Object implements TransactionManager
TransactionManager
implementation.
It provides the basic to handle Transaction
s and supports any XAResource
.
Implementation notes:
commit()
or rollback()
setTransactionTimeout(int)
and this transaction manager won't rollback the transaction if it takes too long.If you need any of the requirements above, please consider use another implementation.
Also, it does not implement any 1-phase-commit optimization.
Modifier and Type | Field and Description |
---|---|
protected UUID |
transactionManagerId |
Constructor and Description |
---|
TransactionManagerImpl() |
Modifier and Type | Method and Description |
---|---|
void |
begin()
Create a new transaction and associate it with the current thread.
|
void |
commit()
Complete the transaction associated with the current thread.
|
protected abstract Transaction |
createTransaction() |
static void |
dissociateTransaction() |
int |
getStatus()
Obtain the status of the transaction associated with the current thread.
|
Transaction |
getTransaction()
Get the transaction object that represents the transaction
context of the calling thread.
|
void |
resume(Transaction tx)
Resume the transaction context association of the calling thread
with the transaction represented by the supplied Transaction object.
|
void |
rollback()
Roll back the transaction associated with the current thread.
|
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.
|
void |
setTransactionTimeout(int seconds)
Modify the timeout value that is associated with transactions started
by the current thread with the begin method.
|
Transaction |
suspend()
Suspend the transaction currently associated with the calling
thread and return a Transaction object that represents the
transaction context being suspended.
|
protected final UUID transactionManagerId
public static void dissociateTransaction()
public Transaction getTransaction()
TransactionManager
getTransaction
in interface TransactionManager
Transaction
object representing the
transaction associated with the calling thread.public void begin() throws NotSupportedException, SystemException
TransactionManager
begin
in interface TransactionManager
NotSupportedException
- Thrown if the thread is already
associated with a transaction and the Transaction Manager
implementation does not support nested transactions.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException
TransactionManager
commit
in interface TransactionManager
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 current thread is
not associated with a transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public void rollback() throws IllegalStateException, SecurityException, SystemException
TransactionManager
rollback
in interface TransactionManager
IllegalStateException
- Thrown if the current thread is
not associated with a transaction.SecurityException
- Thrown to indicate that the thread is
not allowed to roll back the transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public void setRollbackOnly() throws IllegalStateException, SystemException
TransactionManager
setRollbackOnly
in interface TransactionManager
IllegalStateException
- Thrown if the current thread is
not associated with a transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public int getStatus() throws SystemException
TransactionManager
getStatus
in interface TransactionManager
SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public void setTransactionTimeout(int seconds) throws SystemException
TransactionManager
If an application has not called this method, the transaction service uses some default value for the transaction timeout.
setTransactionTimeout
in interface TransactionManager
seconds
- The value of the timeout in seconds. If the value is zero,
the transaction service restores the default value. If the value
is negative a SystemException is thrown.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public Transaction suspend() throws SystemException
TransactionManager
suspend
in interface TransactionManager
SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.public void resume(Transaction tx) throws InvalidTransactionException, IllegalStateException, SystemException
TransactionManager
resume
in interface TransactionManager
tx
- The Transaction
object that represents the
transaction to be resumed.InvalidTransactionException
- Thrown if the parameter
transaction object contains an invalid transaction.IllegalStateException
- Thrown if the thread is already
associated with another transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.protected abstract Transaction createTransaction()
Copyright © 2021 JBoss by Red Hat. All rights reserved.