public class ScheduledTaskRegistrar extends Object implements 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 a BeanFactory on destruction of a singleton.
|
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.ScheduledTasksBeanDefinitionParser
public List<TriggerTask> getTriggerTaskList()
TriggerTask
objects.null
)public void setCronTasks(Map<Runnable,String> cronTasks)
CronTrigger
public void setCronTasksList(List<CronTask> cronTasks)
CronTask
objects. Primarily used by
<task:*>
namespace parsing.ScheduledTasksBeanDefinitionParser
public 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.ScheduledTasksBeanDefinitionParser
public 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.ScheduledTasksBeanDefinitionParser
public 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 InitializingBean
protected 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()
DisposableBean
destroy
in interface DisposableBean