public class ScheduledTaskRegistrar extends Object implements ScheduledTaskHolder, InitializingBean, DisposableBean
TaskScheduler
, typically using cron
expressions.
ScheduledTaskRegistrar
has a more prominent user-facing role when used in
conjunction with the @EnableAsync
annotation and its
SchedulingConfigurer
callback interface.
EnableAsync
,
SchedulingConfigurer
Modifier and Type | Field and Description |
---|---|
static String |
CRON_DISABLED
A special cron expression value that indicates a disabled trigger: "-".
|
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 static final String CRON_DISABLED
This is primarily meant for use with addCronTask(Runnable, String)
when the value for the supplied expression
is retrieved from an
external source — for example, from a property in the
Environment
.
Scheduled.CRON_DISABLED
,
Constant Field Valuespublic 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.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)
Runnable
task to be triggered per the given cron expression
.
As of Spring Framework 5.2, this method will not register the task if the
expression
is equal to CRON_DISABLED
.
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()
@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 ScheduledTaskHolder
addTriggerTask(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()
DisposableBean
BeanFactory
on destruction of a bean.destroy
in interface DisposableBean