Class WASManagedRuntime

java.lang.Object
org.apache.openjpa.ee.AbstractManagedRuntime
org.apache.openjpa.ee.WASManagedRuntime
All Implemented Interfaces:
ManagedRuntime, Configurable

public class WASManagedRuntime extends AbstractManagedRuntime implements ManagedRuntime, Configurable
ManagedRuntime implementation that allows synchronization with a WebSphere managed transaction.

WebSphere Application Server does not expose the TransactionManager to an application. Instead it provides a proprietary interface to register for synchronization and obtain transaction ids.

WASManagedRuntime provides the wrapper classes needed to interact with the WAS proprietary interface and the OpenJPA kernel.

Author:
Kevin Sutter
  • Constructor Details

    • WASManagedRuntime

      public WASManagedRuntime()
  • Method Details

    • getTransactionManager

      public jakarta.transaction.TransactionManager getTransactionManager() throws Exception
      Gets an extendedJTATransaction from JNDI and creates a transaction wrapper
      Specified by:
      getTransactionManager in interface ManagedRuntime
      Throws:
      Exception
    • setConfiguration

      public void setConfiguration(Configuration conf)
      Caches a copy of the configuration. The configuration is used to obtain the logger and classloader.
      Specified by:
      setConfiguration in interface Configurable
    • endConfiguration

      public void endConfiguration()
      EndConfiguration stub.
      Specified by:
      endConfiguration in interface Configurable
    • startConfiguration

      public void startConfiguration()
      StartConfiguration stub.
      Specified by:
      startConfiguration 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