public class ScheduledTaskRegistrar extends Object implements ScheduledTaskHolder, InitializingBean, 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()
Invoked by the containing
BeanFactory on destruction of a bean. |
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. |
Set<ScheduledTask> |
getScheduledTasks()
Return all locally registered tasks that have been scheduled by this registrar.
|
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(FixedDelayTask task)
Schedule the specified fixed-delay task, either right away if possible
or on initialization of the scheduler.
|
ScheduledTask |
scheduleFixedDelayTask(IntervalTask task)
Deprecated.
as of 5.0.2, in favor of
scheduleFixedDelayTask(FixedDelayTask) |
ScheduledTask |
scheduleFixedRateTask(FixedRateTask task)
Schedule the specified fixed-rate task, either right away if possible
or on initialization of the scheduler.
|
ScheduledTask |
scheduleFixedRateTask(IntervalTask task)
Deprecated.
as of 5.0.2, in favor of
scheduleFixedRateTask(FixedRateTask) |
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(@Nullable Object scheduler)
TaskScheduler to register scheduled tasks with, or a
ScheduledExecutorService to be wrapped as a
TaskScheduler.@Nullable 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 InitializingBeanprotected void scheduleTasks()
@Nullable public ScheduledTask scheduleTriggerTask(TriggerTask task)
@Nullable public ScheduledTask scheduleCronTask(CronTask task)
null if processing a previously registered task)@Deprecated @Nullable public ScheduledTask scheduleFixedRateTask(IntervalTask task)
scheduleFixedRateTask(FixedRateTask)null if processing a previously registered task)@Nullable public ScheduledTask scheduleFixedRateTask(FixedRateTask task)
null if processing a previously registered task)@Deprecated @Nullable public ScheduledTask scheduleFixedDelayTask(IntervalTask task)
scheduleFixedDelayTask(FixedDelayTask)null if processing a previously registered task)@Nullable public ScheduledTask scheduleFixedDelayTask(FixedDelayTask task)
null if processing a previously registered task)public Set<ScheduledTask> getScheduledTasks()
getScheduledTasks in interface ScheduledTaskHolderaddTriggerTask(java.lang.Runnable, org.springframework.scheduling.Trigger),
addCronTask(java.lang.Runnable, java.lang.String),
addFixedRateTask(java.lang.Runnable, long),
addFixedDelayTask(java.lang.Runnable, long)public void destroy()
DisposableBeanBeanFactory on destruction of a bean.destroy in interface DisposableBean