public abstract class AbstractOverseer extends Object implements Overseer
| Modifier and Type | Field and Description |
|---|---|
protected Set<Worker> |
currentWorkers |
private static org.slf4j.Logger |
LOGGER |
protected List<TaskObserver> |
observers |
protected Map<Task,Worker> |
taskWorkerMapping |
protected Semaphore |
workersSetMutex |
| Constructor and Description |
|---|
AbstractOverseer() |
| Modifier and Type | Method and Description |
|---|---|
void |
addObserver(TaskObserver observer)
Adds the given
TaskObserver to the list of observers of this
Overseer and is notified if the state of a task changes. |
protected abstract Worker |
createWorker(Task task) |
TaskState |
getTaskState(Task task)
Returns the state of the given
Task. |
TaskState[] |
getTaskStates()
Returns the state of all
Tasks managed by this Overseer. |
Worker |
getWorker(Task task)
Returns the
Worker instance that is assigned to the given task. |
void |
removeObserver(TaskObserver observer)
Removes the given
TaskObserver from the list of observers if it
exists. |
void |
reportTaskFinished(Worker worker) |
void |
reportTaskThrowedException(Worker worker,
Throwable t) |
void |
startTask(Task task)
Starts the given
Task. |
protected abstract void |
startWorker(Worker worker) |
private static final org.slf4j.Logger LOGGER
protected Semaphore workersSetMutex
protected List<TaskObserver> observers
public void startTask(Task task)
OverseerTask.protected abstract void startWorker(Worker worker)
public void reportTaskFinished(Worker worker)
reportTaskFinished in interface WorkerObserverpublic void reportTaskThrowedException(Worker worker, Throwable t)
reportTaskThrowedException in interface WorkerObserverpublic void addObserver(TaskObserver observer)
OverseerTaskObserver to the list of observers of this
Overseer and is notified if the state of a task changes.addObserver in interface Overseerobserver - the TaskObserver that should be a able to observe the
Tasks managed by this overseerpublic void removeObserver(TaskObserver observer)
OverseerTaskObserver from the list of observers if it
exists.removeObserver in interface Overseerobserver - the TaskObserver that should be removedpublic TaskState getTaskState(Task task)
OverseerTask.getTaskState in interface Overseertask - the Task of which the state should be returnedTaskpublic TaskState[] getTaskStates()
OverseerTasks managed by this Overseer.getTaskStates in interface OverseerTasks managed by this OverseerCopyright © 2015–2020. All rights reserved.