Package org.apache.openjpa.ee
Class RegistryManagedRuntime
java.lang.Object
org.apache.openjpa.ee.RegistryManagedRuntime
- All Implemented Interfaces:
ManagedRuntime
- Direct Known Subclasses:
WASRegistryManagedRuntime
Implementation of the
ManagedRuntime
interface that uses
the TransactionSynchronizationRegistry
interface (new in JTA 1.1)
to create a TransactionManager
facade for controlling transactions.- Since:
- 1.0.0
- Author:
- Marc Prud'hommeaux
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
ATransactionManager
andTransaction
facade that delegates the appropriate methods to the internally-heldTransactionSynchronizationRegistry
. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
doNonTransactionalWork
(Runnable runnable) RegistryManagedRuntime cannot suspend transactions.Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.Returns a transaction key that can be used to associate transactions and Brokers.jakarta.transaction.TransactionManager
Return the cached TransactionManager instance.void
setRegistryName
(String registryName) void
setRollbackOnly
(Throwable cause) Sets the rollback only flag on the current transaction.
-
Constructor Details
-
RegistryManagedRuntime
public RegistryManagedRuntime()
-
-
Method Details
-
getTransactionManager
Return the cached TransactionManager instance.- Specified by:
getTransactionManager
in interfaceManagedRuntime
- Throws:
Exception
-
setRollbackOnly
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:
Exception
-
getRollbackCause
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:
Exception
-
setRegistryName
-
getRegistryName
-
getTransactionKey
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:
Exception
jakarta.transaction.SystemException
-
doNonTransactionalWork
public void doNonTransactionalWork(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.
-