public class WorkerManagerImpl extends java.lang.Object implements WorkerManager, TaskKeepAliveListener
PREFIX_INTERNAL
Constructor and Description |
---|
WorkerManagerImpl() |
Modifier and Type | Method and Description |
---|---|
protected void |
activate(ComponentContext context)
OSGi Declarative Services service activation method.
|
void |
addKeepAliveListener(TaskKeepAliveListener listener) |
void |
addKeepAliveTask(Task task) |
void |
addWorker(Worker worker)
Add the given worker.
|
boolean |
containsWorker(java.lang.String worker)
Returns whether the given worker was successfully registered.
|
protected void |
deactivate(ComponentContext context)
OSGi Declarative Services service deactivation method.
|
boolean |
finishCompletedTasks()
finish completed tasks.
|
void |
finishTask(WorkerRunner taskWorker) |
boolean |
getAndStartTask(java.lang.String worker)
get and submit task for the given worker if that doesn't exceed worker's max scale up.
|
boolean |
getAndStartTasks()
get and start tasks as long as scaleup limits are not utilized.
|
AnyMap |
getInfo() |
WorkerDefinition |
getWorkerDefinition(java.lang.String worker) |
boolean |
hasWorker(java.lang.String worker) |
void |
removedTask(Task task)
Called by keep alive mechanism when a task was cancelled.
|
void |
removeKeepAliveListener(TaskKeepAliveListener listener) |
void |
removeKeepAliveTask(Task task) |
void |
removeWorker(Worker worker)
Removes the given worker.
|
void |
setClusterConfigService(ClusterConfigService ccs)
needed to get cluster configuration.
|
void |
setDefinitionPersistence(DefinitionPersistence defPersistence)
set OSGI service.
|
void |
setKeepAliveInterval(long keepAliveCheckMillis,
long keepAliveSendSeconds)
for testing.
|
void |
setObjectStoreService(ObjectStoreService objectStore)
method for DS to set a service reference.
|
void |
setScaleUpControl(ScaleUpControl scaleUpControl) |
void |
setTaskLogFactory(TaskLogFactory taskLogFactory)
method for DS to set a service reference.
|
void |
setTaskManager(TaskManager taskManager)
method for DS to set a service reference.
|
boolean |
startAndFinishTasks()
do one turn in the "get-task-finish-task" loop.
|
void |
unsetClusterConfigService(ClusterConfigService ccs)
remove an
ClusterConfigService . |
void |
unsetDefinitionPersistence(DefinitionPersistence defPersistence)
unset OSGI service.
|
void |
unsetObjectStoreService(ObjectStoreService objectStore)
method for DS to unset a service reference.
|
void |
unsetTaskLogFactory(TaskLogFactory taskLogFactory)
method for DS to unset a service reference.
|
void |
unsetTaskManager(TaskManager taskManager)
method for DS to unset a service reference.
|
public boolean startAndFinishTasks()
public boolean getAndStartTasks()
public boolean finishCompletedTasks()
public boolean getAndStartTask(java.lang.String worker)
worker
- the worker for which to get a taskpublic WorkerDefinition getWorkerDefinition(java.lang.String worker)
worker
- the worker to return the worker definition forpublic void finishTask(WorkerRunner taskWorker)
taskWorker
- the TaskWorker containing the (completed) Task to finish.protected void activate(ComponentContext context)
protected void deactivate(ComponentContext context)
context
- OSGi service component context.public void addWorker(Worker worker)
public void removeWorker(Worker worker)
public boolean containsWorker(java.lang.String worker)
WorkerManager
containsWorker
in interface WorkerManager
public void addKeepAliveListener(TaskKeepAliveListener listener)
addKeepAliveListener
in interface WorkerManager
listener
- Listener that wants to be informed about keep alive failures.public void removeKeepAliveListener(TaskKeepAliveListener listener)
removeKeepAliveListener
in interface WorkerManager
listener
- Listener that no longer wants to be informed about keep alive failures.public void addKeepAliveTask(Task task)
addKeepAliveTask
in interface WorkerManager
task
- task to add under keep alive controlpublic void removeKeepAliveTask(Task task)
removeKeepAliveTask
in interface WorkerManager
task
- task to remove from keep alive controlpublic void removedTask(Task task)
removedTask
in interface TaskKeepAliveListener
task
- the task that has been removed.public void setKeepAliveInterval(long keepAliveCheckMillis, long keepAliveSendSeconds)
WorkerManager
setKeepAliveInterval
in interface WorkerManager
keepAliveCheckMillis
- the time interval in ms after which we check if there are tasks for keep alive.keepAliveSendSeconds
- the time interval in seconds after which keep alive is sent for a processed taskpublic void setScaleUpControl(ScaleUpControl scaleUpControl)
setScaleUpControl
in interface WorkerManager
scaleUpControl
- defines scale up limit for workerspublic AnyMap getInfo()
getInfo
in interface WorkerManager
public boolean hasWorker(java.lang.String worker)
hasWorker
in interface WorkerManager
public void setClusterConfigService(ClusterConfigService ccs)
public void unsetClusterConfigService(ClusterConfigService ccs)
ClusterConfigService
. To be called by DS runtime after deactivation.public void setDefinitionPersistence(DefinitionPersistence defPersistence)
public void unsetDefinitionPersistence(DefinitionPersistence defPersistence)
public void setTaskManager(TaskManager taskManager)
public void unsetTaskManager(TaskManager taskManager)
public void setTaskLogFactory(TaskLogFactory taskLogFactory)
public void unsetTaskLogFactory(TaskLogFactory taskLogFactory)
public void setObjectStoreService(ObjectStoreService objectStore)
public void unsetObjectStoreService(ObjectStoreService objectStore)