public interface TaskScheduler
This interface is separate from SchedulingTaskExecutor since it
usually represents for a different kind of backend, i.e. a thread pool with
different characteristics and capabilities. Implementations may implement
both interfaces if they can handle both kinds of execution characteristics.
The 'default' implementation is
ThreadPoolTaskScheduler,
wrapping a native <code>ScheduledExecutorService</code>
and adding extended trigger capabilities.
This interface is roughly equivalent to a JSR-236
ManagedScheduledExecutorService as supported in Java EE 6
environments. However, at the time of the Spring 3.0 release, the
JSR-236 interfaces have not been released in official form yet.
TaskExecutor,
<code>ScheduledExecutorService</code>,
ThreadPoolTaskScheduler| Modifier and Type | Method and Description |
|---|---|
java.util.concurrent.ScheduledFuture |
schedule(java.lang.Runnable task,
java.util.Date startTime)
Schedule the given <code>Runnable</code>, invoking it at the specified execution time.
|
java.util.concurrent.ScheduledFuture |
schedule(java.lang.Runnable task,
Trigger trigger)
Schedule the given <code>Runnable</code>, invoking it whenever the trigger
indicates a next execution time.
|
java.util.concurrent.ScheduledFuture |
scheduleAtFixedRate(java.lang.Runnable task,
java.util.Date startTime,
long period)
Schedule the given <code>Runnable</code>, invoking it at the specified execution time
and subsequently with the given period.
|
java.util.concurrent.ScheduledFuture |
scheduleAtFixedRate(java.lang.Runnable task,
long period)
Schedule the given <code>Runnable</code>, starting as soon as possible and
invoking it with the given period.
|
java.util.concurrent.ScheduledFuture |
scheduleWithFixedDelay(java.lang.Runnable task,
java.util.Date startTime,
long delay)
Schedule the given <code>Runnable</code>, invoking it at the specified execution time
and subsequently with the given delay between the completion of one execution
and the start of the next.
|
java.util.concurrent.ScheduledFuture |
scheduleWithFixedDelay(java.lang.Runnable task,
long delay)
Schedule the given <code>Runnable</code>, starting as soon as possible and
invoking it with the given delay between the completion of one execution
and the start of the next.
|
java.util.concurrent.ScheduledFuture schedule(java.lang.Runnable task,
Trigger trigger)
Execution will end once the scheduler shuts down or the returned <code>ScheduledFuture</code> gets cancelled.
task - the Runnable to execute whenever the trigger firestrigger - an implementation of the Trigger interface,
e.g. a CronTrigger object
wrapping a cron expressionnull if the given Trigger object never fires (i.e. returns
null from Trigger.nextExecutionTime(org.springframework.scheduling.TriggerContext))TaskRejectedException - if the given task was not accepted
for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)CronTriggerjava.util.concurrent.ScheduledFuture schedule(java.lang.Runnable task,
java.util.Date startTime)
Execution will end once the scheduler shuts down or the returned <code>ScheduledFuture</code> gets cancelled.
task - the Runnable to execute whenever the trigger firesstartTime - the desired execution time for the task
(if this is in the past, the task will be executed immediately, i.e. as soon as possible)TaskRejectedException - if the given task was not accepted
for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)java.util.concurrent.ScheduledFuture scheduleAtFixedRate(java.lang.Runnable task,
java.util.Date startTime,
long period)
Execution will end once the scheduler shuts down or the returned <code>ScheduledFuture</code> gets cancelled.
task - the Runnable to execute whenever the trigger firesstartTime - the desired first execution time for the task
(if this is in the past, the task will be executed immediately, i.e. as soon as possible)period - the interval between successive executions of the task (in milliseconds)TaskRejectedException - if the given task was not accepted
for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)java.util.concurrent.ScheduledFuture scheduleAtFixedRate(java.lang.Runnable task,
long period)
Execution will end once the scheduler shuts down or the returned <code>ScheduledFuture</code> gets cancelled.
task - the Runnable to execute whenever the trigger firesperiod - the interval between successive executions of the task (in milliseconds)TaskRejectedException - if the given task was not accepted
for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)java.util.concurrent.ScheduledFuture scheduleWithFixedDelay(java.lang.Runnable task,
java.util.Date startTime,
long delay)
Execution will end once the scheduler shuts down or the returned <code>ScheduledFuture</code> gets cancelled.
task - the Runnable to execute whenever the trigger firesstartTime - the desired first execution time for the task
(if this is in the past, the task will be executed immediately, i.e. as soon as possible)delay - the delay between the completion of one execution and the start
of the next (in milliseconds)TaskRejectedException - if the given task was not accepted
for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)java.util.concurrent.ScheduledFuture scheduleWithFixedDelay(java.lang.Runnable task,
long delay)
Execution will end once the scheduler shuts down or the returned <code>ScheduledFuture</code> gets cancelled.
task - the Runnable to execute whenever the trigger firesdelay - the interval between successive executions of the task (in milliseconds)TaskRejectedException - if the given task was not accepted
for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)