SMILA 1.0 API documentation

org.eclipse.smila.workermanager.internal
Class WorkerManagerImpl

java.lang.Object
  extended by org.eclipse.smila.workermanager.internal.WorkerManagerImpl
All Implemented Interfaces:
TaskKeepAliveListener, WorkerManager

public class WorkerManagerImpl
extends java.lang.Object
implements WorkerManager, TaskKeepAliveListener

WorkerManager implementation. Workers are registered via addWorker() method.


Field Summary
 
Fields inherited from interface org.eclipse.smila.workermanager.WorkerManager
PREFIX_INTERNAL
 
Constructor Summary
WorkerManagerImpl()
           
 
Method Summary
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)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorkerManagerImpl

public WorkerManagerImpl()
Method Detail

startAndFinishTasks

public boolean startAndFinishTasks()
do one turn in the "get-task-finish-task" loop.


getAndStartTasks

public boolean getAndStartTasks()
get and start tasks as long as scaleup limits are not utilized.


finishCompletedTasks

public boolean finishCompletedTasks()
finish completed tasks.


getAndStartTask

public boolean getAndStartTask(java.lang.String worker)
get and submit task for the given worker if that doesn't exceed worker's max scale up.

Parameters:
worker - the worker for which to get a task
Returns:
true if a new task was started

getWorkerDefinition

public WorkerDefinition getWorkerDefinition(java.lang.String worker)
Parameters:
worker - the worker to return the worker definition for
Returns:
worker definition for given worker

finishTask

public void finishTask(WorkerRunner taskWorker)
Parameters:
taskWorker - the TaskWorker containing the (completed) Task to finish.

activate

protected void activate(ComponentContext context)
OSGi Declarative Services service activation method.


deactivate

protected void deactivate(ComponentContext context)
OSGi Declarative Services service deactivation method.

Parameters:
context - OSGi service component context.

addWorker

public void addWorker(Worker worker)
Add the given worker.


removeWorker

public void removeWorker(Worker worker)
Removes the given worker.


containsWorker

public boolean containsWorker(java.lang.String worker)
Description copied from interface: WorkerManager
Returns whether the given worker was successfully registered.

Specified by:
containsWorker in interface WorkerManager

addKeepAliveListener

public void addKeepAliveListener(TaskKeepAliveListener listener)
Specified by:
addKeepAliveListener in interface WorkerManager
Parameters:
listener - Listener that wants to be informed about keep alive failures.

removeKeepAliveListener

public void removeKeepAliveListener(TaskKeepAliveListener listener)
Specified by:
removeKeepAliveListener in interface WorkerManager
Parameters:
listener - Listener that no longer wants to be informed about keep alive failures.

addKeepAliveTask

public void addKeepAliveTask(Task task)
Specified by:
addKeepAliveTask in interface WorkerManager
Parameters:
task - task to add under keep alive control

removeKeepAliveTask

public void removeKeepAliveTask(Task task)
Specified by:
removeKeepAliveTask in interface WorkerManager
Parameters:
task - task to remove from keep alive control

removedTask

public void removedTask(Task task)
Called by keep alive mechanism when a task was cancelled.

Specified by:
removedTask in interface TaskKeepAliveListener
Parameters:
task - the task that has been removed.

setKeepAliveInterval

public void setKeepAliveInterval(long keepAliveCheckMillis,
                                 long keepAliveSendSeconds)
Description copied from interface: WorkerManager
for testing.

Specified by:
setKeepAliveInterval in interface WorkerManager
Parameters:
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 task

setScaleUpControl

public void setScaleUpControl(ScaleUpControl scaleUpControl)
Specified by:
setScaleUpControl in interface WorkerManager
Parameters:
scaleUpControl - defines scale up limit for workers

getInfo

public AnyMap getInfo()
Specified by:
getInfo in interface WorkerManager
Returns:
workerManager info object.

setClusterConfigService

public void setClusterConfigService(ClusterConfigService ccs)
needed to get cluster configuration.


unsetClusterConfigService

public void unsetClusterConfigService(ClusterConfigService ccs)
remove an ClusterConfigService. To be called by DS runtime after deactivation.


setDefinitionPersistence

public void setDefinitionPersistence(DefinitionPersistence defPersistence)
set OSGI service.


unsetDefinitionPersistence

public void unsetDefinitionPersistence(DefinitionPersistence defPersistence)
unset OSGI service.


setTaskManager

public void setTaskManager(TaskManager taskManager)
method for DS to set a service reference.


unsetTaskManager

public void unsetTaskManager(TaskManager taskManager)
method for DS to unset a service reference.


setTaskLogFactory

public void setTaskLogFactory(TaskLogFactory taskLogFactory)
method for DS to set a service reference.


unsetTaskLogFactory

public void unsetTaskLogFactory(TaskLogFactory taskLogFactory)
method for DS to unset a service reference.


setObjectStoreService

public void setObjectStoreService(ObjectStoreService objectStore)
method for DS to set a service reference.


unsetObjectStoreService

public void unsetObjectStoreService(ObjectStoreService objectStore)
method for DS to unset a service reference.


SMILA 1.0 API documentation