public class ManagedExecutors extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
isCurrentThreadShutdown()
Utility method for checking the
isShutdown() value of the current
thread if it is a ManageableThread created from
ManagedThreadFactory.newThread() . |
static <V> Callable<V> |
managedTask(Callable<V> task,
ManagedTaskListener taskListener)
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 . |
static <V> Callable<V> |
managedTask(Callable<V> task,
Map<String,String> executionProperties,
ManagedTaskListener taskListener)
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 . |
static Runnable |
managedTask(Runnable task,
ManagedTaskListener taskListener)
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 . |
static Runnable |
managedTask(Runnable task,
Map<String,String> executionProperties,
ManagedTaskListener taskListener)
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 . |
public static boolean isCurrentThreadShutdown()
isShutdown()
value of the current
thread if it is a ManageableThread
created from
ManagedThreadFactory.newThread()
.isShutdown()
value if the current thread is a
ManageableThread
created by ManagedThreadFactory
, or
false if the current thread is not a ManageableThread
.public static Runnable managedTask(Runnable task, ManagedTaskListener taskListener) throws IllegalArgumentException
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);
task
- the task to have the given ManagedTaskListener associated withtaskListener
- (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.IllegalArgumentException
- if task
is null
public static Runnable managedTask(Runnable task, Map<String,String> executionProperties, ManagedTaskListener taskListener) throws IllegalArgumentException
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
.task
- the task to have the given ManagedTaskListener associated withtaskListener
- (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.IllegalArgumentException
- if task
is null
public static <V> Callable<V> managedTask(Callable<V> task, ManagedTaskListener taskListener) throws IllegalArgumentException
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
.V
- the return type of the Callabletask
- the task to have the given ManagedTaskListener associated withtaskListener
- (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.IllegalArgumentException
- if task
is null
public static <V> Callable<V> managedTask(Callable<V> task, Map<String,String> executionProperties, ManagedTaskListener taskListener) throws IllegalArgumentException
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
.V
- the result type of the Callabletask
- the task to have the given ManagedTaskListener associated withtaskListener
- (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.IllegalArgumentException
- if task
is null
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.