Package org.apache.openjpa.ee
Interface ManagedRuntime
- All Known Implementing Classes:
AbstractManagedRuntime,AutomaticManagedRuntime,InvocationManagedRuntime,JNDIManagedRuntime,OSGiManagedRuntime,RegistryManagedRuntime,SunOneManagedRuntime,WASManagedRuntime,WASRegistryManagedRuntime,WLSManagedRuntime
public interface ManagedRuntime
This interface must be implemented by concrete plugins to application
servers in order to integrate the OpenJPA runtime in a managed environment.
- Author:
- Abe White
-
Method Summary
Modifier and TypeMethodDescriptionvoiddoNonTransactionalWork(Runnable runnable) Do a unit of work which will execute outside of the current managed transaction.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.TransactionManagerReturn the TransactionManager for the managed runtime.voidsetRollbackOnly(Throwable cause) Sets the rollback only flag on the current transaction.
-
Method Details
-
getTransactionManager
Return the TransactionManager for the managed runtime. This manager is used to register synchronization listeners, to map transactional PersistenceManagers to the current transaction, and possibly to enlist XA resources.- Throws:
Exception
-
setRollbackOnly
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.- Parameters:
cause- the Throwable that caused the transaction to be marked for rollback, or null of none is known- Throws:
Exception
-
getRollbackCause
Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.- Returns:
- the Throwable cause, or null if none
- Throws:
Exception
-
getTransactionKey
Returns a transaction key that can be used to associate transactions and Brokers.- Returns:
- the transaction key
- Throws:
Exceptionjakarta.transaction.SystemException
-
doNonTransactionalWork
Do a unit of work which will execute outside of the current managed transaction.
If the runnable object encounters an exception it should be wrapped in a RuntimeException and thrown back to the caller
- 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.
-