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. |
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 delistflag
- 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