Package org.apache.openjpa.ee
Class AutomaticManagedRuntime
- java.lang.Object
-
- org.apache.openjpa.ee.AbstractManagedRuntime
-
- org.apache.openjpa.ee.AutomaticManagedRuntime
-
- All Implemented Interfaces:
ManagedRuntime,Configurable
public class AutomaticManagedRuntime extends AbstractManagedRuntime implements ManagedRuntime, Configurable
Implementation of theManagedRuntimeinterface that searches through a set of known JNDI locations and method invocations to locate the appropriate mechanism for obtaining a TransactionManager. Built in support is provided for the following Application Servers:- Bluestone
- GlassFish
- HP Application Server
- JBoss
- JRun
- OpenEJB
- Oracle Application Server
- Orion
- SunONE
- Weblogic
- Websphere
- Author:
- Marc Prud'hommeaux
-
-
Constructor Summary
Constructors Constructor Description AutomaticManagedRuntime()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoNonTransactionalWork(Runnable runnable)Delegate nonTransactional work to the appropriate managed runtime.voidendConfiguration()ThrowablegetRollbackCause()Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.ObjectgetTransactionKey()Returns a transaction key that can be used to associate transactions and Brokers.jakarta.transaction.TransactionManagergetTransactionManager()Return the TransactionManager for the managed runtime.voidsetConfiguration(Configuration conf)voidsetRollbackOnly(Throwable cause)Sets the rollback only flag on the current transaction.voidstartConfiguration()
-
-
-
Method Detail
-
getTransactionManager
public jakarta.transaction.TransactionManager getTransactionManager() throws ExceptionDescription copied from interface:ManagedRuntimeReturn 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.- Specified by:
getTransactionManagerin interfaceManagedRuntime- Throws:
Exception
-
setConfiguration
public void setConfiguration(Configuration conf)
- Specified by:
setConfigurationin interfaceConfigurable
-
startConfiguration
public void startConfiguration()
- Specified by:
startConfigurationin interfaceConfigurable
-
endConfiguration
public void endConfiguration()
- Specified by:
endConfigurationin interfaceConfigurable
-
setRollbackOnly
public void setRollbackOnly(Throwable cause) throws Exception
Description 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:
Exception
-
getRollbackCause
public Throwable getRollbackCause() throws Exception
Description 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:
Exception
-
getTransactionKey
public Object getTransactionKey() throws Exception, jakarta.transaction.SystemException
Description copied from class:AbstractManagedRuntimeReturns 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:
getTransactionKeyin interfaceManagedRuntime- Overrides:
getTransactionKeyin classAbstractManagedRuntime- Returns:
- the transaction key
- Throws:
Exceptionjakarta.transaction.SystemException
-
doNonTransactionalWork
public void doNonTransactionalWork(Runnable runnable) throws jakarta.transaction.NotSupportedException
Delegate nonTransactional work to the appropriate managed runtime. If no managed runtime is found then delegateAbstractManagedRuntime.- Specified by:
doNonTransactionalWorkin interfaceManagedRuntime- Overrides:
doNonTransactionalWorkin classAbstractManagedRuntime- 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.
-
-