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 theManagedRuntime
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 Constructor Description AutomaticManagedRuntime()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doNonTransactionalWork(java.lang.Runnable runnable)
Delegate nonTransactional work to the appropriate managed runtime.void
endConfiguration()
Invoked upon completion of bean property configuration for this object.java.lang.Throwable
getRollbackCause()
Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.java.lang.Object
getTransactionKey()
Returns a transaction key that can be used to associate transactions and Brokers.jakarta.transaction.TransactionManager
getTransactionManager()
Return the TransactionManager for the managed runtime.void
setConfiguration(Configuration conf)
Invoked prior to setting bean properties.void
setRollbackOnly(java.lang.Throwable cause)
Sets the rollback only flag on the current transaction.void
startConfiguration()
Invoked before bean property configuration is begun on this object.
-
-
-
Method Detail
-
getTransactionManager
public jakarta.transaction.TransactionManager getTransactionManager() throws java.lang.Exception
Description copied from interface:ManagedRuntime
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.- Specified by:
getTransactionManager
in interfaceManagedRuntime
- Throws:
java.lang.Exception
-
setConfiguration
public void setConfiguration(Configuration conf)
Description copied from interface:Configurable
Invoked prior to setting bean properties.- Specified by:
setConfiguration
in interfaceConfigurable
-
startConfiguration
public void startConfiguration()
Description copied from interface:Configurable
Invoked before bean property configuration is begun on this object.- Specified by:
startConfiguration
in interfaceConfigurable
-
endConfiguration
public void endConfiguration()
Description copied from interface:Configurable
Invoked upon completion of bean property configuration for this object.- Specified by:
endConfiguration
in interfaceConfigurable
-
setRollbackOnly
public void setRollbackOnly(java.lang.Throwable cause) throws java.lang.Exception
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:
java.lang.Exception
-
getRollbackCause
public java.lang.Throwable getRollbackCause() throws java.lang.Exception
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:
java.lang.Exception
-
getTransactionKey
public java.lang.Object getTransactionKey() throws java.lang.Exception, jakarta.transaction.SystemException
Description copied from class:AbstractManagedRuntime
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
- Overrides:
getTransactionKey
in classAbstractManagedRuntime
- Returns:
- the transaction key
- Throws:
java.lang.Exception
jakarta.transaction.SystemException
-
doNonTransactionalWork
public void doNonTransactionalWork(java.lang.Runnable runnable) throws jakarta.transaction.NotSupportedException
Delegate nonTransactional work to the appropriate managed runtime. If no managed runtime is found then delegateAbstractManagedRuntime
.- Specified by:
doNonTransactionalWork
in interfaceManagedRuntime
- Overrides:
doNonTransactionalWork
in 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.
-
-