Class ScheduledTaskRegistrar
- java.lang.Object
- org.springframework.scheduling.config.ScheduledTaskRegistrar
- All Implemented Interfaces:
DisposableBean,InitializingBean
- Direct Known Subclasses:
ContextLifecycleScheduledTaskRegistrar
public class ScheduledTaskRegistrar extends Object implements InitializingBean, DisposableBean
Helper bean for registering tasks with aTaskScheduler, typically using cron expressions.As of Spring 3.1,
ScheduledTaskRegistrarhas a more prominent user-facing role when used in conjunction with the @EnableAsyncannotation and itsSchedulingConfigurercallback interface.- Since:
- 3.0
- Author:
- Juergen Hoeller, Chris Beams, Tobias Montagna-Hay
- See Also:
EnableAsync,SchedulingConfigurer
Constructor Summary
Constructors Constructor Description ScheduledTaskRegistrar()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCronTask(Runnable task, String expression)Add a Runnable task to be triggered per the given cron expressionvoidaddCronTask(CronTask task)Add aCronTask.voidaddFixedDelayTask(Runnable task, long delay)Add a Runnable task to be triggered with the given fixed delay.voidaddFixedDelayTask(IntervalTask task)Add a fixed-delayIntervalTask.voidaddFixedRateTask(Runnable task, long interval)Add aRunnabletask to be triggered at the given fixed-rate interval.voidaddFixedRateTask(IntervalTask task)Add a fixed-rateIntervalTask.voidaddTriggerTask(Runnable task, Trigger trigger)Add a Runnable task to be triggered per the givenTrigger.voidaddTriggerTask(TriggerTask task)Add aTriggerTask.voidafterPropertiesSet()CallsscheduleTasks()at bean construction time.voiddestroy()Invoked by the containingBeanFactoryon destruction of a bean.List<CronTask>getCronTaskList()Get the cron tasks as an unmodifiable list ofCronTaskobjects.List<IntervalTask>getFixedDelayTaskList()Get the fixed-delay tasks as an unmodifiable list ofIntervalTaskobjects.List<IntervalTask>getFixedRateTaskList()Get the fixed-rate tasks as an unmodifiable list ofIntervalTaskobjects.TaskSchedulergetScheduler()Return theTaskSchedulerinstance for this registrar (may benull).List<TriggerTask>getTriggerTaskList()Get the trigger tasks as an unmodifiable list ofTriggerTaskobjects.booleanhasTasks()Return whether thisScheduledTaskRegistrarhas any tasks registered.ScheduledTaskscheduleCronTask(CronTask task)Schedule the specified cron task, either right away if possible or on initialization of the scheduler.ScheduledTaskscheduleFixedDelayTask(IntervalTask task)Schedule the specified fixed-delay task, either right away if possible or on initialization of the scheduler.ScheduledTaskscheduleFixedRateTask(IntervalTask task)Schedule the specified fixed-rate task, either right away if possible or on initialization of the scheduler.protected voidscheduleTasks()Schedule all registered tasks against the underlying task scheduler.ScheduledTaskscheduleTriggerTask(TriggerTask task)Schedule the specified trigger task, either right away if possible or on initialization of the scheduler.voidsetCronTasks(Map<Runnable,String> cronTasks)Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.voidsetCronTasksList(List<CronTask> cronTasks)Specify triggered tasks as a list ofCronTaskobjects.voidsetFixedDelayTasks(Map<Runnable,Long> fixedDelayTasks)Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.voidsetFixedDelayTasksList(List<IntervalTask> fixedDelayTasks)Specify fixed-delay tasks as a list ofIntervalTaskobjects.voidsetFixedRateTasks(Map<Runnable,Long> fixedRateTasks)Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.voidsetFixedRateTasksList(List<IntervalTask> fixedRateTasks)Specify fixed-rate tasks as a list ofIntervalTaskobjects.voidsetScheduler(Object scheduler)Set theTaskSchedulerto register scheduled tasks with, or aScheduledExecutorServiceto be wrapped as aTaskScheduler.voidsetTaskScheduler(TaskScheduler taskScheduler)Set theTaskSchedulerto register scheduled tasks with.voidsetTriggerTasks(Map<Runnable,Trigger> triggerTasks)Specify triggered tasks as a Map of Runnables (the tasks) and Trigger objects (typically custom implementations of theTriggerinterface).voidsetTriggerTasksList(List<TriggerTask> triggerTasks)Specify triggered tasks as a list ofTriggerTaskobjects.
Constructor Detail
ScheduledTaskRegistrar
public ScheduledTaskRegistrar()
Method Detail
setTaskScheduler
public void setTaskScheduler(TaskScheduler taskScheduler)
Set theTaskSchedulerto register scheduled tasks with.
setScheduler
public void setScheduler(Object scheduler)
Set theTaskSchedulerto register scheduled tasks with, or aScheduledExecutorServiceto be wrapped as aTaskScheduler.
getScheduler
public TaskScheduler getScheduler()
Return theTaskSchedulerinstance for this registrar (may benull).
setTriggerTasks
public void setTriggerTasks(Map<Runnable,Trigger> triggerTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and Trigger objects (typically custom implementations of theTriggerinterface).
setTriggerTasksList
public void setTriggerTasksList(List<TriggerTask> triggerTasks)
Specify triggered tasks as a list ofTriggerTaskobjects. Primarily used by<task:*>namespace parsing.- Since:
- 3.2
- See Also:
ScheduledTasksBeanDefinitionParser
getTriggerTaskList
public List<TriggerTask> getTriggerTaskList()
Get the trigger tasks as an unmodifiable list ofTriggerTaskobjects.- Returns:
- the list of tasks (never
null) - Since:
- 4.2
setCronTasks
public void setCronTasks(Map<Runnable,String> cronTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.- See Also:
CronTrigger
setCronTasksList
public void setCronTasksList(List<CronTask> cronTasks)
Specify triggered tasks as a list ofCronTaskobjects. Primarily used by<task:*>namespace parsing.- Since:
- 3.2
- See Also:
ScheduledTasksBeanDefinitionParser
getCronTaskList
public List<CronTask> getCronTaskList()
Get the cron tasks as an unmodifiable list ofCronTaskobjects.- Returns:
- the list of tasks (never
null) - Since:
- 4.2
setFixedRateTasks
public void setFixedRateTasks(Map<Runnable,Long> fixedRateTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.
setFixedRateTasksList
public void setFixedRateTasksList(List<IntervalTask> fixedRateTasks)
Specify fixed-rate tasks as a list ofIntervalTaskobjects. Primarily used by<task:*>namespace parsing.- Since:
- 3.2
- See Also:
ScheduledTasksBeanDefinitionParser
getFixedRateTaskList
public List<IntervalTask> getFixedRateTaskList()
Get the fixed-rate tasks as an unmodifiable list ofIntervalTaskobjects.- Returns:
- the list of tasks (never
null) - Since:
- 4.2
setFixedDelayTasks
public void setFixedDelayTasks(Map<Runnable,Long> fixedDelayTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.
setFixedDelayTasksList
public void setFixedDelayTasksList(List<IntervalTask> fixedDelayTasks)
Specify fixed-delay tasks as a list ofIntervalTaskobjects. Primarily used by<task:*>namespace parsing.- Since:
- 3.2
- See Also:
ScheduledTasksBeanDefinitionParser
getFixedDelayTaskList
public List<IntervalTask> getFixedDelayTaskList()
Get the fixed-delay tasks as an unmodifiable list ofIntervalTaskobjects.- Returns:
- the list of tasks (never
null) - Since:
- 4.2
addTriggerTask
public void addTriggerTask(Runnable task, Trigger trigger)
Add a Runnable task to be triggered per the givenTrigger.
addTriggerTask
public void addTriggerTask(TriggerTask task)
Add aTriggerTask.- Since:
- 3.2
- See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)
addCronTask
public void addCronTask(Runnable task, String expression)
Add a Runnable task to be triggered per the given cron expression
addCronTask
public void addCronTask(CronTask task)
Add aCronTask.- Since:
- 3.2
addFixedRateTask
public void addFixedRateTask(Runnable task, long interval)
Add aRunnabletask to be triggered at the given fixed-rate interval.
addFixedRateTask
public void addFixedRateTask(IntervalTask task)
Add a fixed-rateIntervalTask.- Since:
- 3.2
- See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)
addFixedDelayTask
public void addFixedDelayTask(Runnable task, long delay)
Add a Runnable task to be triggered with the given fixed delay.
addFixedDelayTask
public void addFixedDelayTask(IntervalTask task)
Add a fixed-delayIntervalTask.- Since:
- 3.2
- See Also:
TaskScheduler.scheduleWithFixedDelay(Runnable, long)
hasTasks
public boolean hasTasks()
Return whether thisScheduledTaskRegistrarhas any tasks registered.- Since:
- 3.2
afterPropertiesSet
public void afterPropertiesSet()
CallsscheduleTasks()at bean construction time.- Specified by:
afterPropertiesSetin interfaceInitializingBean
scheduleTasks
protected void scheduleTasks()
Schedule all registered tasks against the underlying task scheduler.
scheduleTriggerTask
public ScheduledTask scheduleTriggerTask(TriggerTask task)
Schedule the specified trigger task, either right away if possible or on initialization of the scheduler.- Returns:
- a handle to the scheduled task, allowing to cancel it
- Since:
- 4.3
scheduleCronTask
public ScheduledTask scheduleCronTask(CronTask task)
Schedule the specified cron task, either right away if possible or on initialization of the scheduler.- Returns:
- a handle to the scheduled task, allowing to cancel it (or
nullif processing a previously registered task) - Since:
- 4.3
scheduleFixedRateTask
public ScheduledTask scheduleFixedRateTask(IntervalTask task)
Schedule the specified fixed-rate task, either right away if possible or on initialization of the scheduler.- Returns:
- a handle to the scheduled task, allowing to cancel it (or
nullif processing a previously registered task) - Since:
- 4.3
scheduleFixedDelayTask
public ScheduledTask scheduleFixedDelayTask(IntervalTask task)
Schedule the specified fixed-delay task, either right away if possible or on initialization of the scheduler.- Returns:
- a handle to the scheduled task, allowing to cancel it (or
nullif processing a previously registered task) - Since:
- 4.3
destroy
public void destroy()
Description copied from interface:DisposableBeanInvoked by the containingBeanFactoryon destruction of a bean.- Specified by:
destroyin interfaceDisposableBean