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

      • RegistryManagedRuntime

        public RegistryManagedRuntime()
    • Method Detail

      • 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.