org.objectweb.dream.control.activity.manager
Class ThreadPerTaskSchedulerManagerImpl
java.lang.Object
org.objectweb.dream.AbstractComponent
org.objectweb.dream.control.activity.manager.AbstractSchedulerManager
org.objectweb.dream.control.activity.manager.ThreadPerTaskSchedulerManagerImpl
- All Implemented Interfaces:
- EndOfThread, SchedulerManager, InterruptTask, ContextualBindingController, NeedAsyncStartController, PrepareStopLifeCycleController, Loggable, BindingController, LifeCycleController
public class ThreadPerTaskSchedulerManagerImpl
- extends AbstractSchedulerManager
- implements EndOfThread
Scheduler manager that schedules each task with a
ForwarderSchedulerImpl
and a thread.
Fields inherited from interface org.objectweb.dream.control.activity.manager.EndOfThread |
ITF_NAME |
Method Summary |
void |
interruptTask(Task task)
Interrupts the given task. |
Object |
scheduleTask(Task task,
Map hints)
Binds the given task to an appropriate scheduler. |
boolean |
threadEnded(Task thread)
Notifies the activity manager that the thread, the given task interface
belong, has ended its execution. |
void |
unscheduleTask(Task task)
Unbinds the given task from its scheduler. |
Methods inherited from class org.objectweb.dream.AbstractComponent |
beforeFirstStart, bindFc, getFcNeedAsyncStart, getFcState, initComponent, lookupFc, prepareStopFc, setLogger, startFc, stopFc, unbindFc |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ThreadPerTaskSchedulerManagerImpl
public ThreadPerTaskSchedulerManagerImpl()
scheduleTask
public Object scheduleTask(Task task,
Map hints)
throws IllegalTaskException
- Description copied from interface:
SchedulerManager
- Binds the given task to an appropriate scheduler.
- Specified by:
scheduleTask
in interface SchedulerManager
- Parameters:
task
- a task to schedule.hints
- registration hints.
- Returns:
- an interface that can be used to control the task (may be
null
if no control is available on the task).
- Throws:
IllegalTaskException
- if an error occurs.- See Also:
SchedulerManager.scheduleTask(Task, Map)
unscheduleTask
public void unscheduleTask(Task task)
throws IllegalTaskException
- Description copied from interface:
SchedulerManager
- Unbinds the given task from its scheduler.
- Specified by:
unscheduleTask
in interface SchedulerManager
- Parameters:
task
- a task.
- Throws:
IllegalTaskException
- if the given task is unknown.- See Also:
SchedulerManager.unscheduleTask(Task)
interruptTask
public void interruptTask(Task task)
throws IllegalTaskException
- Description copied from interface:
InterruptTask
- Interrupts the given task. When the task ends its execution the activity
manager will be notified using the
EndOfTask
interface.
- Specified by:
interruptTask
in interface InterruptTask
- Parameters:
task
- the task to interrupt.
- Throws:
IllegalTaskException
- if the given task is unknown.- See Also:
InterruptTask.interruptTask(Task)
threadEnded
public boolean threadEnded(Task thread)
- Description copied from interface:
EndOfThread
- Notifies the activity manager that the thread, the given task interface
belong, has ended its execution. This method returns if the thread should
restart or stop its execution.
- Specified by:
threadEnded
in interface EndOfThread
- Parameters:
thread
- the task interface of the stopped thread.
- Returns:
true
if the thread should restart its execution.- See Also:
EndOfThread.threadEnded(Task)
Copyright © 2003, 2005 - INRIA Rhone-Alpes - All Rights Reserved.