Class RegistryManagedRuntime

java.lang.Object
org.apache.openjpa.ee.RegistryManagedRuntime
All Implemented Interfaces:
ManagedRuntime
Direct Known Subclasses:
WASRegistryManagedRuntime

public class RegistryManagedRuntime extends Object implements ManagedRuntime
Implementation of the ManagedRuntime interface that uses the TransactionSynchronizationRegistry interface (new in JTA 1.1) to create a TransactionManager facade for controlling transactions.
Since:
1.0.0
Author:
Marc Prud'hommeaux
  • Constructor Details

    • RegistryManagedRuntime

      public RegistryManagedRuntime()
  • Method Details

    • getTransactionManager

      public jakarta.transaction.TransactionManager getTransactionManager() throws Exception
      Return the cached TransactionManager instance.
      Specified by:
      getTransactionManager in interface ManagedRuntime
      Throws:
      Exception
    • 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
    • setRegistryName

      public void setRegistryName(String registryName)
    • getRegistryName

      public String getRegistryName()
    • getTransactionKey

      public Object getTransactionKey() throws Exception, jakarta.transaction.SystemException
      Description copied from interface: ManagedRuntime
      Returns a transaction key that can be used to associate transactions and Brokers.
      Specified by:
      getTransactionKey in interface ManagedRuntime
      Returns:
      the transaction key
      Throws:
      Exception
      jakarta.transaction.SystemException
    • doNonTransactionalWork

      public void doNonTransactionalWork(Runnable runnable) throws jakarta.transaction.NotSupportedException

      RegistryManagedRuntime cannot suspend transactions.

      Specified by:
      doNonTransactionalWork in interface ManagedRuntime
      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 transaction can not be suspended.