Interface ManagedRuntime

All Known Implementing Classes:
AbstractManagedRuntime, AutomaticManagedRuntime, InvocationManagedRuntime, JNDIManagedRuntime, OSGiManagedRuntime, RegistryManagedRuntime, SunOneManagedRuntime, WASManagedRuntime, WASRegistryManagedRuntime, WLSManagedRuntime

public interface ManagedRuntime
This interface must be implemented by concrete plugins to application servers in order to integrate the OpenJPA runtime in a managed environment.
Author:
Abe White
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Do a unit of work which will execute outside of the current managed transaction.
    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.TransactionManager
    Return the TransactionManager for the managed runtime.
    void
    Sets the rollback only flag on the current transaction.
  • Method Details

    • getTransactionManager

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

      void setRollbackOnly(Throwable cause) throws Exception
      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.
      Parameters:
      cause - the Throwable that caused the transaction to be marked for rollback, or null of none is known
      Throws:
      Exception
    • getRollbackCause

      Throwable getRollbackCause() throws Exception
      Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.
      Returns:
      the Throwable cause, or null if none
      Throws:
      Exception
    • getTransactionKey

      Object getTransactionKey() throws Exception, jakarta.transaction.SystemException
      Returns a transaction key that can be used to associate transactions and Brokers.
      Returns:
      the transaction key
      Throws:
      Exception
      jakarta.transaction.SystemException
    • doNonTransactionalWork

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

      Do a unit of work which will execute outside of the current managed transaction.

      If the runnable object encounters an exception it should be wrapped in a RuntimeException and thrown back to the caller

      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.