Class 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 Detail

      • WASManagedRuntime

        public WASManagedRuntime()
    • Method Detail

      • getTransactionManager

        public jakarta.transaction.TransactionManager getTransactionManager()
                                                                     throws java.lang.Exception
        Gets an extendedJTATransaction from JNDI and creates a transaction wrapper
        Specified by:
        getTransactionManager in interface ManagedRuntime
        Throws:
        java.lang.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
      • 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 interface ManagedRuntime
        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 interface ManagedRuntime
        Returns:
        the Throwable cause, or null if none
        Throws:
        java.lang.Exception