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 the
ManagedRuntime interface 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 -
Method Summary
Modifier and TypeMethodDescriptionvoiddoNonTransactionalWork(Runnable runnable) Delegate nonTransactional work to the appropriate managed runtime.voidInvoked upon completion of bean property configuration for this object.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.voidInvoked prior to setting bean properties.voidsetRollbackOnly(Throwable cause) Sets the rollback only flag on the current transaction.voidInvoked before bean property configuration is begun on this object.
-
Constructor Details
-
AutomaticManagedRuntime
public AutomaticManagedRuntime()
-
-
Method Details
-
getTransactionManager
Description 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
Description copied from interface:ConfigurableInvoked prior to setting bean properties.- Specified by:
setConfigurationin interfaceConfigurable
-
startConfiguration
public void startConfiguration()Description copied from interface:ConfigurableInvoked before bean property configuration is begun on this object.- Specified by:
startConfigurationin interfaceConfigurable
-
endConfiguration
public void endConfiguration()Description copied from interface:ConfigurableInvoked upon completion of bean property configuration for this object.- Specified by:
endConfigurationin interfaceConfigurable
-
setRollbackOnly
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
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
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.
-