Package org.apache.openjpa.ee
Class RegistryManagedRuntime
- java.lang.Object
-
- org.apache.openjpa.ee.RegistryManagedRuntime
-
- All Implemented Interfaces:
ManagedRuntime
- Direct Known Subclasses:
WASRegistryManagedRuntime
public class RegistryManagedRuntime extends Object implements ManagedRuntime
Implementation of theManagedRuntimeinterface that uses theTransactionSynchronizationRegistryinterface (new in JTA 1.1) to create aTransactionManagerfacade for controlling transactions.- Since:
- 1.0.0
- Author:
- Marc Prud'hommeaux
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classRegistryManagedRuntime.TransactionManagerRegistryFacadeATransactionManagerandTransactionfacade that delegates the appropriate methods to the internally-heldTransactionSynchronizationRegistry.
-
Constructor Summary
Constructors Constructor Description RegistryManagedRuntime()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoNonTransactionalWork(Runnable runnable)RegistryManagedRuntime cannot suspend transactions.StringgetRegistryName()ThrowablegetRollbackCause()Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.ObjectgetTransactionKey()Returns a transaction key that can be used to associate transactions and Brokers.jakarta.transaction.TransactionManagergetTransactionManager()Return the cached TransactionManager instance.voidsetRegistryName(String registryName)voidsetRollbackOnly(Throwable cause)Sets the rollback only flag on the current transaction.
-
-
-
Method Detail
-
getTransactionManager
public jakarta.transaction.TransactionManager getTransactionManager() throws ExceptionReturn the cached TransactionManager instance.- Specified by:
getTransactionManagerin interfaceManagedRuntime- Throws:
Exception
-
setRollbackOnly
public void setRollbackOnly(Throwable cause) throws Exception
Description copied from interface:ManagedRuntimeSets the rollback only flag on the current transaction. If the TransactionManager is capable of tracking the cause of the rollback-only flag, it will also pass along cause information.- Specified by:
setRollbackOnlyin interfaceManagedRuntime- Parameters:
cause- the Throwable that caused the transaction to be marked for rollback, or null of none is known- Throws:
Exception
-
getRollbackCause
public Throwable getRollbackCause() throws Exception
Description copied from interface:ManagedRuntimeReturns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.- Specified by:
getRollbackCausein interfaceManagedRuntime- Returns:
- the Throwable cause, or null if none
- Throws:
Exception
-
setRegistryName
public void setRegistryName(String registryName)
-
getRegistryName
public String getRegistryName()
-
getTransactionKey
public Object getTransactionKey() throws Exception, jakarta.transaction.SystemException
Description copied from interface:ManagedRuntimeReturns a transaction key that can be used to associate transactions and Brokers.- Specified by:
getTransactionKeyin interfaceManagedRuntime- Returns:
- the transaction key
- Throws:
Exceptionjakarta.transaction.SystemException
-
doNonTransactionalWork
public void doNonTransactionalWork(Runnable runnable) throws jakarta.transaction.NotSupportedException
RegistryManagedRuntime cannot suspend transactions.
- Specified by:
doNonTransactionalWorkin interfaceManagedRuntime- Parameters:
runnable- The runnable wrapper for the work that will be done. The runnable object should be fully initialized with any state needed to execute.- Throws:
jakarta.transaction.NotSupportedException- if the transaction can not be suspended.
-
-