public class DefaultTaskCoordinator extends Object implements TaskCoordinator, org.springframework.beans.factory.InitializingBean
DefaultTaskCoordinator
class provides utility methods to construct
and schedule hierarchies of Tasks
.DEFAULT_EXECUTOR
Constructor and Description |
---|
DefaultTaskCoordinator(String name)
Constructor for DefaultTaskCoordinator.
|
Modifier and Type | Method and Description |
---|---|
void |
addDependency(AbstractTask prereq,
AbstractTask dependent)
addDependency
|
void |
addOrUpdateExecutor(String executorName,
Executor executor)
addExecutor
|
void |
afterPropertiesSet()
afterPropertiesSet
|
TaskBuilder<BatchTask> |
createBatch()
createBatch
|
TaskBuilder<BatchTask> |
createBatch(ContainerTask<?> parent)
createBatch
|
BatchTask |
createBatch(ContainerTask<?> parent,
Runnable... tasks)
createBatch
|
BatchTask |
createBatch(Runnable... tasks)
createBatch
|
TaskBuilder<SequenceTask> |
createSequence()
createSequence
|
TaskBuilder<SequenceTask> |
createSequence(ContainerTask<?> parent)
createSequence
|
SequenceTask |
createSequence(ContainerTask<?> parent,
Runnable... tasks)
createSequence
|
<T> AsyncTask<T> |
createTask(ContainerTask<?> parent,
Async<T> async,
Callback<T> cb)
createTask
|
SyncTask |
createTask(ContainerTask<?> parent,
Runnable r)
createTask
|
SyncTask |
createTask(ContainerTask<?> parent,
Runnable r,
String schedulingHint)
createTask
|
void |
markTaskAsCompleted(AbstractTask task) |
void |
schedule(AbstractTask task)
schedule
|
void |
setDefaultExecutor(String executorName)
setDefaultExecutor
|
void |
setExecutors(Map<String,Executor> executors)
setExecutors
|
void |
setLoopDelay(long millis)
setLoopDelay
|
void |
submitToExecutor(String executorPreference,
Runnable workToBeDone,
AbstractTask owningTask) |
public final void setDefaultExecutor(String executorName)
setDefaultExecutor
executorName
- a String
object.public void afterPropertiesSet()
afterPropertiesSet
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
public SyncTask createTask(ContainerTask<?> parent, Runnable r)
createTask
createTask
in interface TaskCoordinator
parent
- a ContainerTask
object.r
- a Runnable
object.SyncTask
object.public SyncTask createTask(ContainerTask<?> parent, Runnable r, String schedulingHint)
createTask
createTask
in interface TaskCoordinator
parent
- a ContainerTask
object.r
- a Runnable
object.schedulingHint
- a String
object.SyncTask
object.public <T> AsyncTask<T> createTask(ContainerTask<?> parent, Async<T> async, Callback<T> cb)
createTask
createTask
in interface TaskCoordinator
T
- a T object.parent
- a ContainerTask
object.async
- a Async
object.cb
- a Callback
object.AsyncTask
object.public TaskBuilder<BatchTask> createBatch(ContainerTask<?> parent)
createBatch
createBatch
in interface TaskCoordinator
parent
- a ContainerTask
object.TaskBuilder
object.public TaskBuilder<BatchTask> createBatch()
createBatch
createBatch
in interface TaskCoordinator
TaskBuilder
object.public BatchTask createBatch(ContainerTask<?> parent, Runnable... tasks)
createBatch
createBatch
in interface TaskCoordinator
parent
- a ContainerTask
object.tasks
- a Runnable
object.BatchTask
object.public BatchTask createBatch(Runnable... tasks)
createBatch
createBatch
in interface TaskCoordinator
tasks
- a Runnable
object.BatchTask
object.public TaskBuilder<SequenceTask> createSequence(ContainerTask<?> parent)
createSequence
createSequence
in interface TaskCoordinator
parent
- a ContainerTask
object.TaskBuilder
object.public TaskBuilder<SequenceTask> createSequence()
createSequence
createSequence
in interface TaskCoordinator
TaskBuilder
object.public SequenceTask createSequence(ContainerTask<?> parent, Runnable... tasks)
createSequence
createSequence
in interface TaskCoordinator
parent
- a ContainerTask
object.tasks
- a Runnable
object.SequenceTask
object.public final void setLoopDelay(long millis)
setLoopDelay
setLoopDelay
in interface TaskCoordinator
millis
- a long.public void schedule(AbstractTask task)
schedule
schedule
in interface TaskCoordinator
task
- a AbstractTask
object.public void addDependency(AbstractTask prereq, AbstractTask dependent)
addDependency
addDependency
in interface TaskCoordinator
prereq
- a AbstractTask
object.dependent
- a AbstractTask
object.public void markTaskAsCompleted(AbstractTask task)
markTaskAsCompleted
in interface TaskCoordinator
public void submitToExecutor(String executorPreference, Runnable workToBeDone, AbstractTask owningTask)
submitToExecutor
in interface TaskCoordinator
public final void addOrUpdateExecutor(String executorName, Executor executor)
addExecutor
addOrUpdateExecutor
in interface TaskCoordinator
executorName
- a String
object.executor
- a Executor
object.public final void setExecutors(Map<String,Executor> executors)
setExecutors
setExecutors
in interface TaskCoordinator
executors
- a Map
object.Copyright © 2018. All rights reserved.