Class ManagedExecutors



  • public class ManagedExecutors
    extends java.lang.Object
    Utility methods for classes defined in this package.
    Since:
    1.0
    • Method Detail

      • isCurrentThreadShutdown

        public static boolean isCurrentThreadShutdown​()
        Utility method for checking the isShutdown() value of the current thread if it is a ManageableThread created from ManagedThreadFactory.newThread() .
        Returns:
        Returns the isShutdown() value if the current thread is a ManageableThread created by ManagedThreadFactory, or false if the current thread is not a ManageableThread.
      • managedTask

        public static java.lang.Runnable managedTask​(java.lang.Runnable task,
                                                     ManagedTaskListener taskListener)
                                              throws java.lang.IllegalArgumentException
        Returns a Runnable object that also implements ManagedTask interface so it can receive notification of lifecycle events with the provided ManagedTaskListener when the task is submitted to a ManagedExecutorService or a ManagedScheduledExecutorService.

        Example:

         Runnable task = ...;
         ManagedTaskListener myTaskListener = ...;
         ManagedExecutorService executor = ...;
         
         Runnable taskWithListener = ManagedExecutors.managedTask(task, myTaskListener);
         executor.submit(taskWithListener);
         
        Parameters:
        task - the task to have the given ManagedTaskListener associated with
        taskListener - (optional) the ManagedTaskListener to receive lifecycle events notification when the task is submitted. If task implements ManagedTask, and taskListener is not null, the ManagedTaskListener interface methods of the task will not be called.
        Returns:
        a Runnable object
        Throws:
        java.lang.IllegalArgumentException - if task is null
      • managedTask

        public static java.lang.Runnable managedTask​(java.lang.Runnable task,
                                                     java.util.Map<java.lang.String,java.lang.String> executionProperties,
                                                     ManagedTaskListener taskListener)
                                              throws java.lang.IllegalArgumentException
        Returns a Runnable object that also implements ManagedTask interface so it can receive notification of lifecycle events with the provided ManagedTaskListener and to provide additional execution properties when the task is submitted to a ManagedExecutorService or a ManagedScheduledExecutorService.
        Parameters:
        task - the task to have the given ManagedTaskListener associated with
        taskListener - (optional) the ManagedTaskListener to receive lifecycle events notification when the task is submitted. If task implements ManagedTask, and taskListener is not null, the ManagedTaskListener interface methods of the task will not be called.
        executionProperties - (optional) execution properties to provide additional hints to ManagedExecutorService or ManagedScheduledExecutorService when the task is submitted. If task implements ManagedTask with non-empty execution properties, the Runnable returned will contain the union of the execution properties specified in the task and the executionProperties argument, with the latter taking precedence if the same property key is specified in both. After the method is called, further changes to the Map object will not be reflected in the Runnable returned by this method.
        Returns:
        a Runnable object
        Throws:
        java.lang.IllegalArgumentException - if task is null
      • managedTask

        public static <V> java.util.concurrent.Callable<V> managedTask​(java.util.concurrent.Callable<V> task,
                                                                       ManagedTaskListener taskListener)
                                                                throws java.lang.IllegalArgumentException
        Returns a Callable object that also implements ManagedTask interface so it can receive notification of lifecycle events with the provided ManagedTaskListener when the task is submitted to a ManagedExecutorService or a ManagedScheduledExecutorService.
        Parameters:
        task - the task to have the given ManagedTaskListener associated with
        taskListener - (optional) the ManagedTaskListener to receive lifecycle events notification when the task is submitted. If task implements ManagedTask, and taskListener is not null, the ManagedTaskListener interface methods of the task will not be called.
        Returns:
        a Callable object
        Throws:
        java.lang.IllegalArgumentException - if task is null
      • managedTask

        public static <V> java.util.concurrent.Callable<V> managedTask​(java.util.concurrent.Callable<V> task,
                                                                       java.util.Map<java.lang.String,java.lang.String> executionProperties,
                                                                       ManagedTaskListener taskListener)
                                                                throws java.lang.IllegalArgumentException
        Returns a Callable object that also implements ManagedTask interface so it can receive notification of lifecycle events with the provided ManagedTaskListener and to provide additional execution properties when the task is submitted to a ManagedExecutorService or a ManagedScheduledExecutorService.
        Parameters:
        task - the task to have the given ManagedTaskListener associated with
        taskListener - (optional) the ManagedTaskListener to receive lifecycle events notification when the task is submitted. If task implements ManagedTask, and taskListener is not null, the ManagedTaskListener interface methods of the task will not be called.
        executionProperties - (optional) execution properties to provide additional hints to ManagedExecutorService or ManagedScheduledExecutorService when the task is submitted. If task implements ManagedTask with non-empty execution properties, the Runnable returned will contain the union of the execution properties specified in the task and the executionProperties argument, with the latter taking precedence if the same property key is specified in both. After the method is called, further changes to the Map object will not be reflected in the Callable returned by this method.
        Returns:
        a Callable object
        Throws:
        java.lang.IllegalArgumentException - if task is null