public class ScheduledTaskRegistrar extends Object implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
TaskScheduler, typically using cron
expressions.
As of Spring 3.1, ScheduledTaskRegistrar has a more prominent user-facing
role when used in conjunction with the @EnableAsync annotation and its
SchedulingConfigurer callback interface.
EnableAsync,
SchedulingConfigurer| Constructor and Description |
|---|
ScheduledTaskRegistrar() |
| Modifier and Type | Method and Description |
|---|---|
void |
addCronTask(CronTask task)
Add a
CronTask. |
void |
addCronTask(Runnable task,
String expression)
Add a Runnable task to be triggered per the given cron expression
|
void |
addFixedDelayTask(IntervalTask task)
Add a fixed-delay
IntervalTask. |
void |
addFixedDelayTask(Runnable task,
long delay)
Add a Runnable task to be triggered with the given fixed delay.
|
void |
addFixedRateTask(IntervalTask task)
Add a fixed-rate
IntervalTask. |
void |
addFixedRateTask(Runnable task,
long interval)
Add a
Runnable task to be triggered at the given fixed-rate interval. |
void |
addTriggerTask(Runnable task,
Trigger trigger)
Add a Runnable task to be triggered per the given
Trigger. |
void |
addTriggerTask(TriggerTask task)
Add a
TriggerTask. |
void |
afterPropertiesSet()
Calls
scheduleTasks() at bean construction time. |
void |
destroy() |
List<CronTask> |
getCronTaskList()
Get the cron tasks as an unmodifiable list of
CronTask objects. |
List<IntervalTask> |
getFixedDelayTaskList()
Get the fixed-delay tasks as an unmodifiable list of
IntervalTask objects. |
List<IntervalTask> |
getFixedRateTaskList()
Get the fixed-rate tasks as an unmodifiable list of
IntervalTask objects. |
TaskScheduler |
getScheduler()
Return the
TaskScheduler instance for this registrar (may be null). |
List<TriggerTask> |
getTriggerTaskList()
Get the trigger tasks as an unmodifiable list of
TriggerTask objects. |
boolean |
hasTasks()
Return whether this
ScheduledTaskRegistrar has any tasks registered. |
ScheduledTask |
scheduleCronTask(CronTask task)
Schedule the specified cron task, either right away if possible
or on initialization of the scheduler.
|
ScheduledTask |
scheduleFixedDelayTask(IntervalTask task)
Schedule the specified fixed-delay task, either right away if possible
or on initialization of the scheduler.
|
ScheduledTask |
scheduleFixedRateTask(IntervalTask task)
Schedule the specified fixed-rate task, either right away if possible
or on initialization of the scheduler.
|
protected void |
scheduleTasks()
Schedule all registered tasks against the underlying task scheduler.
|
ScheduledTask |
scheduleTriggerTask(TriggerTask task)
Schedule the specified trigger task, either right away if possible
or on initialization of the scheduler.
|
void |
setCronTasks(Map<Runnable,String> cronTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.
|
void |
setCronTasksList(List<CronTask> cronTasks)
Specify triggered tasks as a list of
CronTask objects. |
void |
setFixedDelayTasks(Map<Runnable,Long> fixedDelayTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.
|
void |
setFixedDelayTasksList(List<IntervalTask> fixedDelayTasks)
Specify fixed-delay tasks as a list of
IntervalTask objects. |
void |
setFixedRateTasks(Map<Runnable,Long> fixedRateTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.
|
void |
setFixedRateTasksList(List<IntervalTask> fixedRateTasks)
Specify fixed-rate tasks as a list of
IntervalTask objects. |
void |
setScheduler(Object scheduler)
Set the
TaskScheduler to register scheduled tasks with, or a
ScheduledExecutorService to be wrapped as a
TaskScheduler. |
void |
setTaskScheduler(TaskScheduler taskScheduler)
Set the
TaskScheduler to register scheduled tasks with. |
void |
setTriggerTasks(Map<Runnable,Trigger> triggerTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and Trigger objects
(typically custom implementations of the
Trigger interface). |
void |
setTriggerTasksList(List<TriggerTask> triggerTasks)
Specify triggered tasks as a list of
TriggerTask objects. |
public void setTaskScheduler(TaskScheduler taskScheduler)
TaskScheduler to register scheduled tasks with.public void setScheduler(Object scheduler)
TaskScheduler to register scheduled tasks with, or a
ScheduledExecutorService to be wrapped as a
TaskScheduler.public TaskScheduler getScheduler()
TaskScheduler instance for this registrar (may be null).public void setTriggerTasks(Map<Runnable,Trigger> triggerTasks)
Trigger interface).public void setTriggerTasksList(List<TriggerTask> triggerTasks)
TriggerTask objects. Primarily used
by <task:*> namespace parsing.ScheduledTasksBeanDefinitionParserpublic List<TriggerTask> getTriggerTaskList()
TriggerTask objects.null)public void setCronTasks(Map<Runnable,String> cronTasks)
CronTriggerpublic void setCronTasksList(List<CronTask> cronTasks)
CronTask objects. Primarily used by
<task:*> namespace parsing.ScheduledTasksBeanDefinitionParserpublic List<CronTask> getCronTaskList()
CronTask objects.null)public void setFixedRateTasks(Map<Runnable,Long> fixedRateTasks)
public void setFixedRateTasksList(List<IntervalTask> fixedRateTasks)
IntervalTask objects. Primarily used
by <task:*> namespace parsing.ScheduledTasksBeanDefinitionParserpublic List<IntervalTask> getFixedRateTaskList()
IntervalTask objects.null)public void setFixedDelayTasks(Map<Runnable,Long> fixedDelayTasks)
public void setFixedDelayTasksList(List<IntervalTask> fixedDelayTasks)
IntervalTask objects. Primarily used
by <task:*> namespace parsing.ScheduledTasksBeanDefinitionParserpublic List<IntervalTask> getFixedDelayTaskList()
IntervalTask objects.null)public void addTriggerTask(Runnable task, Trigger trigger)
Trigger.public void addTriggerTask(TriggerTask task)
TriggerTask.TaskScheduler.scheduleAtFixedRate(Runnable, long)public void addCronTask(Runnable task, String expression)
public void addFixedRateTask(Runnable task, long interval)
Runnable task to be triggered at the given fixed-rate interval.public void addFixedRateTask(IntervalTask task)
IntervalTask.TaskScheduler.scheduleAtFixedRate(Runnable, long)public void addFixedDelayTask(Runnable task, long delay)
public void addFixedDelayTask(IntervalTask task)
IntervalTask.TaskScheduler.scheduleWithFixedDelay(Runnable, long)public boolean hasTasks()
ScheduledTaskRegistrar has any tasks registered.public void afterPropertiesSet()
scheduleTasks() at bean construction time.afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanprotected void scheduleTasks()
public ScheduledTask scheduleTriggerTask(TriggerTask task)
public ScheduledTask scheduleCronTask(CronTask task)
null if processing a previously registered task)public ScheduledTask scheduleFixedRateTask(IntervalTask task)
null if processing a previously registered task)public ScheduledTask scheduleFixedDelayTask(IntervalTask task)
null if processing a previously registered task)public void destroy()
destroy in interface org.springframework.beans.factory.DisposableBean