Class ManagedExecutors

java.lang.Object
jakarta.enterprise.concurrent.ManagedExecutors

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

    • 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 Runnable managedTask(Runnable task, ManagedTaskListener taskListener) throws 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:
      IllegalArgumentException - if task is null
    • managedTask

      public static Runnable managedTask(Runnable task, Map<String,String> executionProperties, ManagedTaskListener taskListener) throws 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:
      IllegalArgumentException - if task is null
    • managedTask

      public static <V> Callable<V> managedTask(Callable<V> task, ManagedTaskListener taskListener) throws 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.
      Type Parameters:
      V - the return type of the Callable
      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:
      IllegalArgumentException - if task is null
    • managedTask

      public static <V> Callable<V> managedTask(Callable<V> task, Map<String,String> executionProperties, ManagedTaskListener taskListener) throws 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.
      Type Parameters:
      V - the result type of the Callable
      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:
      IllegalArgumentException - if task is null