Package org.apache.openjpa.ee
Class AbstractManagedRuntime
- java.lang.Object
-
- org.apache.openjpa.ee.AbstractManagedRuntime
-
- All Implemented Interfaces:
ManagedRuntime
- Direct Known Subclasses:
AutomaticManagedRuntime
,InvocationManagedRuntime
,JNDIManagedRuntime
,OSGiManagedRuntime
,SunOneManagedRuntime
,WASManagedRuntime
,WLSManagedRuntime
public abstract class AbstractManagedRuntime extends java.lang.Object implements ManagedRuntime
-
-
Constructor Summary
Constructors Constructor Description AbstractManagedRuntime()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doNonTransactionalWork(java.lang.Runnable runnable)
Do a unit of work which will execute outside of the current managed transaction.java.lang.Object
getTransactionKey()
Returns a transaction key that can be used to associate transactions and Brokers.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.openjpa.ee.ManagedRuntime
getRollbackCause, getTransactionManager, setRollbackOnly
-
-
-
-
Method Detail
-
getTransactionKey
public java.lang.Object getTransactionKey() throws java.lang.Exception, jakarta.transaction.SystemException
Returns a transaction key that can be used to associate transactions and Brokers. The default implementation returns the Transaction associated with the current thread's transaction.- 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
Do a unit of work which will execute outside of the current managed transaction. The default implementation suspends the transaction prior to execution, and resumes the transaction afterwards.
- 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 current transaction can not be obtained, or an error occurs when suspending or resuming the transaction.
-
-