Interface TaskScheduler
- All Known Implementing Classes:
- ConcurrentTaskScheduler,- DefaultManagedTaskScheduler,- ThreadPoolTaskScheduler
Runnables based on different kinds of triggers.
 This interface is separate from SchedulingTaskExecutor since it
 usually represents 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 ScheduledExecutorService
 and adding extended trigger capabilities.
 
This interface is roughly equivalent to a JSR-236
 ManagedScheduledExecutorService as supported in Jakarta EE
 environments but aligned with Spring's TaskExecutor model.
- Since:
- 3.0
- Author:
- Juergen Hoeller
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptiondefault ClockgetClock()Return the clock to use for scheduling purposes.Schedule the givenRunnable, invoking it at the specified execution time.default ScheduledFuture<?>Deprecated.Schedule the givenRunnable, invoking it whenever the trigger indicates a next execution time.default ScheduledFuture<?>scheduleAtFixedRate(Runnable task, long period) Deprecated.as of 6.0, in favor ofscheduleAtFixedRate(Runnable, Duration)scheduleAtFixedRate(Runnable task, Duration period) Schedule the givenRunnable, starting as soon as possible and invoking it with the given period.scheduleAtFixedRate(Runnable task, Instant startTime, Duration period) Schedule the givenRunnable, invoking it at the specified execution time and subsequently with the given period.default ScheduledFuture<?>scheduleAtFixedRate(Runnable task, Date startTime, long period) Deprecated.as of 6.0, in favor ofscheduleAtFixedRate(Runnable, Instant, Duration)default ScheduledFuture<?>scheduleWithFixedDelay(Runnable task, long delay) Deprecated.as of 6.0, in favor ofscheduleWithFixedDelay(Runnable, Duration)scheduleWithFixedDelay(Runnable task, Duration delay) Schedule the givenRunnable, starting as soon as possible and invoking it with the given delay between the completion of one execution and the start of the next.scheduleWithFixedDelay(Runnable task, Instant startTime, Duration delay) Schedule the givenRunnable, 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.default ScheduledFuture<?>scheduleWithFixedDelay(Runnable task, Date startTime, long delay) Deprecated.as of 6.0, in favor ofscheduleWithFixedDelay(Runnable, Instant, Duration)
- 
Method Details- 
getClockReturn the clock to use for scheduling purposes.- Since:
- 5.3
- See Also:
 
- 
scheduleSchedule the givenRunnable, invoking it whenever the trigger indicates a next execution time.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- trigger- an implementation of the- Triggerinterface, e.g. a- CronTriggerobject wrapping a cron expression
- Returns:
- a ScheduledFuturerepresenting pending completion of the task, ornullif the given Trigger object never fires (i.e. returnsnullfromTrigger.nextExecutionTime(org.springframework.scheduling.TriggerContext))
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
- See Also:
 
- 
scheduleSchedule the givenRunnable, invoking it at the specified execution time.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- startTime- 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)
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
- Since:
- 5.0
 
- 
scheduleDeprecated.as of 6.0, in favor ofschedule(Runnable, Instant)Schedule the givenRunnable, invoking it at the specified execution time.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- startTime- 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)
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
 
- 
scheduleAtFixedRateSchedule the givenRunnable, invoking it at the specified execution time and subsequently with the given period.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- startTime- 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
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
- Since:
- 5.0
 
- 
scheduleAtFixedRate@Deprecated(since="6.0") default ScheduledFuture<?> scheduleAtFixedRate(Runnable task, Date startTime, long period) Deprecated.as of 6.0, in favor ofscheduleAtFixedRate(Runnable, Instant, Duration)Schedule the givenRunnable, invoking it at the specified execution time and subsequently with the given period.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- startTime- 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)
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
 
- 
scheduleAtFixedRateSchedule the givenRunnable, starting as soon as possible and invoking it with the given period.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- period- the interval between successive executions of the task
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
- Since:
- 5.0
 
- 
scheduleAtFixedRateDeprecated.as of 6.0, in favor ofscheduleAtFixedRate(Runnable, Duration)Schedule the givenRunnable, starting as soon as possible and invoking it with the given period.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- period- the interval between successive executions of the task (in milliseconds)
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
 
- 
scheduleWithFixedDelaySchedule the givenRunnable, 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.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- startTime- 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
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
- Since:
- 5.0
 
- 
scheduleWithFixedDelay@Deprecated(since="6.0") default ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, Date startTime, long delay) Deprecated.as of 6.0, in favor ofscheduleWithFixedDelay(Runnable, Instant, Duration)Schedule the givenRunnable, 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.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- startTime- 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)
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
 
- 
scheduleWithFixedDelaySchedule the givenRunnable, starting as soon as possible and invoking it with the given delay between the completion of one execution and the start of the next.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- delay- the delay between the completion of one execution and the start of the next
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
- Since:
- 5.0
 
- 
scheduleWithFixedDelay@Deprecated(since="6.0") default ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, long delay) Deprecated.as of 6.0, in favor ofscheduleWithFixedDelay(Runnable, Duration)Schedule the givenRunnable, starting as soon as possible and invoking it with the given delay between the completion of one execution and the start of the next.Execution will end once the scheduler shuts down or the returned ScheduledFuturegets cancelled.- Parameters:
- task- the Runnable to execute whenever the trigger fires
- delay- the delay between the completion of one execution and the start of the next (in milliseconds)
- Returns:
- a ScheduledFuturerepresenting pending completion of the task
- Throws:
- TaskRejectedException- if the given task was not accepted for internal reasons (e.g. a pool overload handling policy or a pool shutdown in progress)
 
 
- 
schedule(Runnable, Instant)