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 java.lang.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(java.lang.Runnable runnable)RegistryManagedRuntime cannot suspend transactions.java.lang.StringgetRegistryName()java.lang.ThrowablegetRollbackCause()Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.java.lang.ObjectgetTransactionKey()Returns a transaction key that can be used to associate transactions and Brokers.jakarta.transaction.TransactionManagergetTransactionManager()Return the cached TransactionManager instance.voidsetRegistryName(java.lang.String registryName)voidsetRollbackOnly(java.lang.Throwable cause)Sets the rollback only flag on the current transaction.
-
-
-
Method Detail
-
getTransactionManager
public jakarta.transaction.TransactionManager getTransactionManager() throws java.lang.ExceptionReturn the cached TransactionManager instance.- Specified by:
getTransactionManagerin interfaceManagedRuntime- Throws:
java.lang.Exception
-
setRollbackOnly
public void setRollbackOnly(java.lang.Throwable cause) throws java.lang.ExceptionDescription 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:
java.lang.Exception
-
getRollbackCause
public java.lang.Throwable getRollbackCause() throws java.lang.ExceptionDescription 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:
java.lang.Exception
-
setRegistryName
public void setRegistryName(java.lang.String registryName)
-
getRegistryName
public java.lang.String getRegistryName()
-
getTransactionKey
public java.lang.Object getTransactionKey() throws java.lang.Exception, jakarta.transaction.SystemExceptionDescription 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:
java.lang.Exceptionjakarta.transaction.SystemException
-
doNonTransactionalWork
public void doNonTransactionalWork(java.lang.Runnable runnable) throws jakarta.transaction.NotSupportedExceptionRegistryManagedRuntime 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.
-
-