Spring Framework

org.springframework.scheduling.config
Class ScheduledTaskRegistrar

java.lang.Object
  extended by org.springframework.scheduling.config.ScheduledTaskRegistrar
All Implemented Interfaces:
DisposableBean, InitializingBean

public class ScheduledTaskRegistrar
extends java.lang.Object
implements InitializingBean, DisposableBean

Helper bean for registering tasks with a 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.

Since:
3.0
Author:
Juergen Hoeller, Chris Beams
See Also:
EnableAsync, SchedulingConfigurer

Constructor Summary
ScheduledTaskRegistrar()
           
 
Method Summary
 void addCronTask(CronTask task)
          Add a CronTask.
 void addCronTask(java.lang.Runnable task, java.lang.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(java.lang.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(java.lang.Runnable task, long period)
          Add a Runnable task to be triggered at the given fixed-rate period.
 void addTriggerTask(java.lang.Runnable task, Trigger trigger)
          Add a Runnable task to be triggered per the given Trigger.
 void addTriggerTask(TriggerTask task)
          Add a TriggerTask.
 void afterPropertiesSet()
          Schedule all registered tasks against the underlying {@linkplain #setTaskScheduler(TaskScheduler) task scheduler.
 void destroy()
          Invoked by a BeanFactory on destruction of a singleton.
 TaskScheduler getScheduler()
          Return the TaskScheduler instance for this registrar (may be null).
 boolean hasTasks()
          Return whether this ScheduledTaskRegistrar has any tasks registered.
 void setCronTasks(java.util.Map<java.lang.Runnable,java.lang.String> cronTasks)
          Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.
 void setCronTasksList(java.util.List<CronTask> cronTasks)
          Specify triggered tasks as a list of CronTask objects.
 void setFixedDelayTasks(java.util.Map<java.lang.Runnable,java.lang.Long> fixedDelayTasks)
          Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.
 void setFixedDelayTasksList(java.util.List<IntervalTask> fixedDelayTasks)
          Specify fixed-delay tasks as a list of IntervalTask objects.
 void setFixedRateTasks(java.util.Map<java.lang.Runnable,java.lang.Long> fixedRateTasks)
          Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.
 void setFixedRateTasksList(java.util.List<IntervalTask> fixedRateTasks)
          Specify fixed-rate tasks as a list of IntervalTask objects.
 void setScheduler(java.lang.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(java.util.Map<java.lang.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(java.util.List<TriggerTask> triggerTasks)
          Specify triggered tasks as a list of TriggerTask objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScheduledTaskRegistrar

public ScheduledTaskRegistrar()
Method Detail

setTaskScheduler

public void setTaskScheduler(TaskScheduler taskScheduler)
Set the TaskScheduler to register scheduled tasks with.


setScheduler

public void setScheduler(java.lang.Object scheduler)
Set the TaskScheduler to register scheduled tasks with, or a ScheduledExecutorService to be wrapped as a TaskScheduler.


getScheduler

public TaskScheduler getScheduler()
Return the TaskScheduler instance for this registrar (may be null).


setTriggerTasks

public void setTriggerTasks(java.util.Map<java.lang.Runnable,Trigger> triggerTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and Trigger objects (typically custom implementations of the Trigger interface).


setTriggerTasksList

public void setTriggerTasksList(java.util.List<TriggerTask> triggerTasks)
Specify triggered tasks as a list of TriggerTask objects. Primarily used by <task:*> namespace parsing.

Since:
3.2
See Also:
ScheduledTasksBeanDefinitionParser

setCronTasks

public void setCronTasks(java.util.Map<java.lang.Runnable,java.lang.String> cronTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.

See Also:
CronTrigger

setCronTasksList

public void setCronTasksList(java.util.List<CronTask> cronTasks)
Specify triggered tasks as a list of CronTask objects. Primarily used by <task:*> namespace parsing.

Since:
3.2
See Also:
ScheduledTasksBeanDefinitionParser

setFixedRateTasks

public void setFixedRateTasks(java.util.Map<java.lang.Runnable,java.lang.Long> fixedRateTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.

See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)

setFixedRateTasksList

public void setFixedRateTasksList(java.util.List<IntervalTask> fixedRateTasks)
Specify fixed-rate tasks as a list of IntervalTask objects. Primarily used by <task:*> namespace parsing.

Since:
3.2
See Also:
ScheduledTasksBeanDefinitionParser

setFixedDelayTasks

public void setFixedDelayTasks(java.util.Map<java.lang.Runnable,java.lang.Long> fixedDelayTasks)
Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.

See Also:
TaskScheduler.scheduleWithFixedDelay(Runnable, long)

setFixedDelayTasksList

public void setFixedDelayTasksList(java.util.List<IntervalTask> fixedDelayTasks)
Specify fixed-delay tasks as a list of IntervalTask objects. Primarily used by <task:*> namespace parsing.

Since:
3.2
See Also:
ScheduledTasksBeanDefinitionParser

addTriggerTask

public void addTriggerTask(java.lang.Runnable task,
                           Trigger trigger)
Add a Runnable task to be triggered per the given Trigger.

See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)

addTriggerTask

public void addTriggerTask(TriggerTask task)
Add a TriggerTask.

Since:
3.2
See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)

addCronTask

public void addCronTask(java.lang.Runnable task,
                        java.lang.String expression)
Add a Runnable task to be triggered per the given cron expression


addCronTask

public void addCronTask(CronTask task)
Add a CronTask.

Since:
3.2

addFixedRateTask

public void addFixedRateTask(java.lang.Runnable task,
                             long period)
Add a Runnable task to be triggered at the given fixed-rate period.

See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)

addFixedRateTask

public void addFixedRateTask(IntervalTask task)
Add a fixed-rate IntervalTask.

Since:
3.2
See Also:
TaskScheduler.scheduleAtFixedRate(Runnable, long)

addFixedDelayTask

public void addFixedDelayTask(java.lang.Runnable task,
                              long delay)
Add a Runnable task to be triggered with the given fixed delay.

See Also:
TaskScheduler.scheduleWithFixedDelay(Runnable, long)

addFixedDelayTask

public void addFixedDelayTask(IntervalTask task)
Add a fixed-delay IntervalTask.

Since:
3.2
See Also:
TaskScheduler.scheduleWithFixedDelay(Runnable, long)

hasTasks

public boolean hasTasks()
Return whether this ScheduledTaskRegistrar has any tasks registered.

Since:
3.2

afterPropertiesSet

public void afterPropertiesSet()
Schedule all registered tasks against the underlying {@linkplain #setTaskScheduler(TaskScheduler) task scheduler.

Specified by:
afterPropertiesSet in interface InitializingBean

destroy

public void destroy()
Description copied from interface: DisposableBean
Invoked by a BeanFactory on destruction of a singleton.

Specified by:
destroy in interface DisposableBean

Spring Framework