Package oracle.tmm.jta
Class TrmUserTransaction
java.lang.Object
com.oracle.microtx.xa.rm.MicroTxUserTransaction
oracle.tmm.jta.TrmUserTransaction
- All Implemented Interfaces:
jakarta.transaction.UserTransaction
public class TrmUserTransaction
extends com.oracle.microtx.xa.rm.MicroTxUserTransaction
The OTMM(MicroTx) user transaction defines the methods that allow an application to explicitly
manage transaction boundaries.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class com.oracle.microtx.xa.rm.MicroTxUserTransaction
gtrid, insProperties, NO_TX_CUR_THREAD, rollbackOnly, suspended, timeout, txnExternalUrl, txnInternalUrl, txnUrl -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbegin()Creates a new transaction and associates it with the current thread.voidvoidcommit()Commit the transaction associated with the current thread.protected voidfinalize()finalize make sure relevant ThreadLocal objects are removed in case of bug in application code where commit/rollback has not been called.intObtain the status of the transaction associated with the current thread.Get OTMM(MicroTx) user transaction ID associated with the current threadGet OTMM(MicroTx) user transaction external URLGet OTMM(MicroTx) user transaction internal URLvoidresume()Resume the transaction.voidrollback()Roll back the transaction associated with the current thread.voidsetProperty(String propertyName, Object propertyValue) voidModify the transaction associated with the current thread such that the only possible outcome of the transaction is to roll back the transaction.voidsetTransactionTimeout(int timeout) Modify the timeout value that is associated with transactions started by the current thread with the begin method.voidStart the Golbal Transaction with the TCSvoidsuspend()Suspend the transaction.Methods inherited from class com.oracle.microtx.xa.rm.MicroTxUserTransaction
getInsProperties, getTransactionTimeout, setInsProperties
-
Constructor Details
-
TrmUserTransaction
public TrmUserTransaction()Initialize a new OTMM(MicroTx) user transaction
-
-
Method Details
-
begin
Creates a new transaction and associates it with the current thread.- Throws:
IllegalStateException- The IllegalStateException is thrown to indicate the method is invoked at a wrong timejakarta.transaction.SystemException- The SystemException is thrown to indicate the OTMM(MicroTx) has encountered an unexpected error condition
-
begin
- Throws:
IllegalStateExceptionjakarta.transaction.SystemException
-
startTCSGlobalTransaction
public void startTCSGlobalTransaction() throws IllegalStateException, jakarta.transaction.SystemExceptionStart the Golbal Transaction with the TCS- Specified by:
startTCSGlobalTransactionin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Throws:
IllegalStateException- .jakarta.transaction.SystemException
-
commit
public void commit() throws jakarta.transaction.RollbackException, jakarta.transaction.HeuristicMixedException, jakarta.transaction.HeuristicRollbackException, SecurityException, IllegalStateException, jakarta.transaction.SystemExceptionCommit the transaction associated with the current thread. When this method completes, the thread is no longer associated with a transaction.- Throws:
jakarta.transaction.RollbackException- - Thrown to indicate that the transaction has been rolled back rather than committed based on status/exception returned by transaction coordinator.jakarta.transaction.HeuristicMixedException- - Thrown to indicate that a heuristic decision was made and that some relevant updates have been committed while others have been rolled back based on status/exception returned by transaction coordinator.jakarta.transaction.HeuristicRollbackException- - Thrown to indicate that a heuristic decision was made and that all relevant updates have been rolled back based on status/exception returned by transaction coordinator.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.jakarta.transaction.SystemException- - Thrown if an unexpected error condition is encountered.
-
rollback
public void rollback() throws IllegalStateException, SecurityException, jakarta.transaction.SystemExceptionRoll back the transaction associated with the current thread. When this method completes, the thread is no longer associated with a transaction.- Throws:
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.jakarta.transaction.SystemException- - Thrown if an unexpected error condition is encountered.
-
suspend
Suspend the transaction. This affects only the local transaction state. This is intended to ensure that the client jax-rs filter for outgoing requests do not perform transaction.- Specified by:
suspendin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Throws:
IllegalStateException- Thrown if the current thread is not associated with a transaction.
-
resume
Resume the transaction. This affects only the local transaction state. This is intended to ensure that the client jax-rs filter for outgoing requests starts performing transaction specific operations again.- Specified by:
resumein classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Throws:
IllegalStateException- Thrown if the current thread is not associated with a transaction.
-
getTransactionID
Get OTMM(MicroTx) user transaction ID associated with the current thread- Overrides:
getTransactionIDin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Returns:
- returns the GTRID.
- Throws:
IllegalStateException- Thrown if the current UserTransaction instance/object has not been used to begin a transaction
-
setRollbackOnly
Modify the transaction associated with the current thread such that the only possible outcome of the transaction is to roll back the transaction.- Specified by:
setRollbackOnlyin interfacejakarta.transaction.UserTransaction- Overrides:
setRollbackOnlyin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Throws:
IllegalStateException- - Thrown if the current thread is not associated with a transaction.
-
getStatus
public int getStatus() throws jakarta.transaction.SystemExceptionObtain the status of the transaction associated with the current thread.- Returns:
- Returns transaction status. If no transaction is associated with the current thread, this method returns the Status.NoTransaction value.
- Throws:
jakarta.transaction.SystemException- - Thrown if an unexpected error condition is encountered.
-
setTransactionTimeout
public void setTransactionTimeout(int timeout) Modify the timeout value that is associated with transactions started by the current thread with the begin method. If an application has not called this method, the transaction service uses some default value for the transaction timeout.- Specified by:
setTransactionTimeoutin interfacejakarta.transaction.UserTransaction- Overrides:
setTransactionTimeoutin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Parameters:
timeout- The value of the timeout in milliseconds. If the value is zero, the transaction service restores the default value. If the value is negative a SystemException is thrown.
-
finalize
protected void finalize()finalize make sure relevant ThreadLocal objects are removed in case of bug in application code where commit/rollback has not been called. -
getTxnInternalUrl
Get OTMM(MicroTx) user transaction internal URL- Overrides:
getTxnInternalUrlin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Returns:
- OTMM(MicroTx) user transaction internal URL
- Throws:
IllegalStateException- The IllegalStateException is thrown to indicate the method is invoked at a wrong time
-
getTxnExternalUrl
Get OTMM(MicroTx) user transaction external URL- Overrides:
getTxnExternalUrlin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Returns:
- OTMM(MicroTx) user transaction external URL
- Throws:
IllegalStateException- The IllegalStateException is thrown to indicate the method is invoked at a wrong time
-
getTxnUrl
- Overrides:
getTxnUrlin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction- Throws:
IllegalStateException
-
setProperty
- Overrides:
setPropertyin classcom.oracle.microtx.xa.rm.MicroTxUserTransaction
-