Class RegistryManagedRuntime

  • All Implemented Interfaces:
    ManagedRuntime
    Direct Known Subclasses:
    WASRegistryManagedRuntime

    public class RegistryManagedRuntime
    extends java.lang.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
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  RegistryManagedRuntime.TransactionManagerRegistryFacade
      A TransactionManager and Transaction facade that delegates the appropriate methods to the internally-held TransactionSynchronizationRegistry.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void doNonTransactionalWork​(java.lang.Runnable runnable)
      RegistryManagedRuntime cannot suspend transactions.
      java.lang.String getRegistryName()  
      java.lang.Throwable getRollbackCause()
      Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.
      java.lang.Object getTransactionKey()
      Returns a transaction key that can be used to associate transactions and Brokers.
      jakarta.transaction.TransactionManager getTransactionManager()
      Return the cached TransactionManager instance.
      void setRegistryName​(java.lang.String registryName)  
      void setRollbackOnly​(java.lang.Throwable cause)
      Sets the rollback only flag on the current transaction.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RegistryManagedRuntime

        public RegistryManagedRuntime()
    • Method Detail

      • getTransactionManager

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

        public void setRegistryName​(java.lang.String registryName)
      • getRegistryName

        public java.lang.String getRegistryName()
      • getTransactionKey

        public java.lang.Object getTransactionKey()
                                           throws java.lang.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:
        java.lang.Exception
        jakarta.transaction.SystemException
      • doNonTransactionalWork

        public void doNonTransactionalWork​(java.lang.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.