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 Details

    • AutomaticManagedRuntime

      public AutomaticManagedRuntime()
  • Method Details

    • getTransactionManager

      public jakarta.transaction.TransactionManager getTransactionManager() throws 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 interface ManagedRuntime
      Throws:
      Exception
    • setConfiguration

      public void setConfiguration(Configuration conf)
      Description copied from interface: Configurable
      Invoked prior to setting bean properties.
      Specified by:
      setConfiguration in interface Configurable
    • startConfiguration

      public void startConfiguration()
      Description copied from interface: Configurable
      Invoked before bean property configuration is begun on this object.
      Specified by:
      startConfiguration in interface Configurable
    • endConfiguration

      public void endConfiguration()
      Description copied from interface: Configurable
      Invoked upon completion of bean property configuration for this object.
      Specified by:
      endConfiguration in interface Configurable
    • setRollbackOnly

      public void setRollbackOnly(Throwable cause) throws 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 interface ManagedRuntime
      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: ManagedRuntime
      Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.
      Specified by:
      getRollbackCause in interface ManagedRuntime
      Returns:
      the Throwable cause, or null if none
      Throws:
      Exception
    • getTransactionKey

      public Object getTransactionKey() throws 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 interface ManagedRuntime
      Overrides:
      getTransactionKey in class AbstractManagedRuntime
      Returns:
      the transaction key
      Throws:
      Exception
      jakarta.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 delegate AbstractManagedRuntime.
      Specified by:
      doNonTransactionalWork in interface ManagedRuntime
      Overrides:
      doNonTransactionalWork in class AbstractManagedRuntime
      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.