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 theManagedRuntime
interface that uses theTransactionSynchronizationRegistry
interface (new in JTA 1.1) to create aTransactionManager
facade for controlling transactions.- Since:
- 1.0.0
- Author:
- Marc Prud'hommeaux
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
RegistryManagedRuntime.TransactionManagerRegistryFacade
ATransactionManager
andTransaction
facade 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 void
doNonTransactionalWork(java.lang.Runnable runnable)
RegistryManagedRuntime cannot suspend transactions.java.lang.String
getRegistryName()
java.lang.Throwable
getRollbackCause()
Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.java.lang.Object
getTransactionKey()
Returns a transaction key that can be used to associate transactions and Brokers.jakarta.transaction.TransactionManager
getTransactionManager()
Return the cached TransactionManager instance.void
setRegistryName(java.lang.String registryName)
void
setRollbackOnly(java.lang.Throwable cause)
Sets the rollback only flag on the current transaction.
-
-
-
Method Detail
-
getTransactionManager
public jakarta.transaction.TransactionManager getTransactionManager() throws java.lang.Exception
Return the cached TransactionManager instance.- Specified by:
getTransactionManager
in interfaceManagedRuntime
- Throws:
java.lang.Exception
-
setRollbackOnly
public void setRollbackOnly(java.lang.Throwable cause) throws java.lang.Exception
Description copied from interface:ManagedRuntime
Sets 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:
setRollbackOnly
in 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.Exception
Description copied from interface:ManagedRuntime
Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.- Specified by:
getRollbackCause
in 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.SystemException
Description copied from interface:ManagedRuntime
Returns a transaction key that can be used to associate transactions and Brokers.- Specified by:
getTransactionKey
in interfaceManagedRuntime
- Returns:
- the transaction key
- Throws:
java.lang.Exception
jakarta.transaction.SystemException
-
doNonTransactionalWork
public void doNonTransactionalWork(java.lang.Runnable runnable) throws jakarta.transaction.NotSupportedException
RegistryManagedRuntime cannot suspend transactions.
- Specified by:
doNonTransactionalWork
in 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.
-
-