Class AutomaticManagedRuntime

  • All Implemented Interfaces:
    ManagedRuntime, Configurable

    public class AutomaticManagedRuntime
    extends AbstractManagedRuntime
    implements ManagedRuntime, Configurable
    Implementation of the ManagedRuntime interface that searches through a set of known JNDI locations and method invocations to locate the appropriate mechanism for obtaining a TransactionManager. Built in support is provided for the following Application Servers:
    • Bluestone
    • GlassFish
    • HP Application Server
    • JBoss
    • JRun
    • OpenEJB
    • Oracle Application Server
    • Orion
    • SunONE
    • Weblogic
    • Websphere
    Author:
    Marc Prud'hommeaux
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void doNonTransactionalWork​(java.lang.Runnable runnable)
      Delegate nonTransactional work to the appropriate managed runtime.
      void endConfiguration()
      Invoked upon completion of bean property configuration for this object.
      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 TransactionManager for the managed runtime.
      void setConfiguration​(Configuration conf)
      Invoked prior to setting bean properties.
      void setRollbackOnly​(java.lang.Throwable cause)
      Sets the rollback only flag on the current transaction.
      void startConfiguration()
      Invoked before bean property configuration is begun on this object.
      • Methods inherited from class java.lang.Object

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

      • AutomaticManagedRuntime

        public AutomaticManagedRuntime()
    • Method Detail

      • getTransactionManager

        public jakarta.transaction.TransactionManager getTransactionManager()
                                                                     throws java.lang.Exception
        Description copied from interface: ManagedRuntime
        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.
        Specified by:
        getTransactionManager in interface ManagedRuntime
        Throws:
        java.lang.Exception
      • startConfiguration

        public void startConfiguration()
        Description copied from interface: Configurable
        Invoked before bean property configuration is begun on this object.
        Specified by:
        startConfiguration in interface Configurable
      • endConfiguration

        public void endConfiguration()
        Description copied from interface: Configurable
        Invoked upon completion of bean property configuration for this object.
        Specified by:
        endConfiguration 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
      • getTransactionKey

        public java.lang.Object getTransactionKey()
                                           throws java.lang.Exception,
                                                  jakarta.transaction.SystemException
        Description copied from class: AbstractManagedRuntime
        Returns a transaction key that can be used to associate transactions and Brokers. The default implementation returns the Transaction associated with the current thread's transaction.
        Specified by:
        getTransactionKey in interface ManagedRuntime
        Overrides:
        getTransactionKey in class AbstractManagedRuntime
        Returns:
        the transaction key
        Throws:
        java.lang.Exception
        jakarta.transaction.SystemException
      • doNonTransactionalWork

        public void doNonTransactionalWork​(java.lang.Runnable runnable)
                                    throws jakarta.transaction.NotSupportedException
        Delegate nonTransactional work to the appropriate managed runtime. If no managed runtime is found then delegate AbstractManagedRuntime.
        Specified by:
        doNonTransactionalWork in interface ManagedRuntime
        Overrides:
        doNonTransactionalWork in class AbstractManagedRuntime
        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 current transaction can not be obtained, or an error occurs when suspending or resuming the transaction.