## org.springframework.scheduling.config
Class ScheduledTaskRegistrar

    java.lang.Object
      org.springframework.scheduling.config.ScheduledTaskRegistrar

All Implemented Interfaces:
  DisposableBean, InitializingBean

    public class ScheduledTaskRegistrar

extends 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
See Also:
  `EnableAsync`, `SchedulingConfigurer`

Constructor Summary
`ScheduledTaskRegistrar()`

Method Summary
`void` `addCronTask(Runnable task, String cronExpression)` Add a Runnable task to be triggered per the given cron expression
`void` `addFixedDelayTask(Runnable task, long delay)` Add a Runnable task to be triggered with the given fixed delay.
`void` `addFixedRateTask(Runnable task, long period)` Add a Runnable task to be triggered at the given fixed-rate period.
`void` `addTriggerTask(Runnable task, Trigger trigger)` Add a Runnable task to be triggered per the given `Trigger`.
`void` `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`void` `destroy()` Invoked by a BeanFactory on destruction of a singleton.
`TaskScheduler` `getScheduler()` Return the scheduler instance for this registrar (may be null)
`void` `setCronTasks(Map<Runnable,String> cronTasks)` Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.
`void` `setFixedDelayTasks(Map<Runnable,Long> fixedDelayTasks)` Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.
`void` `setFixedRateTasks(Map<Runnable,Long> fixedRateTasks)` Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.
`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).

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(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 scheduler instance for this registrar (may be null)

### 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 the `Trigger` interface).

### setCronTasks

    public void setCronTasks(Map<Runnable,String> cronTasks)

  Specify triggered tasks as a Map of Runnables (the tasks) and cron expressions.

  See Also:
    `CronTrigger`

### setFixedRateTasks

    public void setFixedRateTasks(Map<Runnable,Long> fixedRateTasks)

  Specify triggered tasks as a Map of Runnables (the tasks) and fixed-rate values.

  See Also:
    `TaskScheduler.scheduleAtFixedRate(Runnable, long)`

### addTriggerTask

    public void addTriggerTask(Runnable task,
                               Trigger trigger)

  Add a Runnable task to be triggered per the given `Trigger`.

  See Also:
    `TaskScheduler.scheduleAtFixedRate(Runnable, long)`

### addCronTask

    public void addCronTask(Runnable task,
                            String cronExpression)

  Add a Runnable task to be triggered per the given cron expression

### addFixedDelayTask

    public void addFixedDelayTask(Runnable task,
                                  long delay)

  Add a Runnable task to be triggered with the given fixed delay.

  See Also:
    `TaskScheduler.scheduleWithFixedDelay(Runnable, long)`

### addFixedRateTask

    public void addFixedRateTask(Runnable task,
                                 long period)

  Add a Runnable task to be triggered at the given fixed-rate period.

  See Also:
    `TaskScheduler.scheduleAtFixedRate(Runnable, long)`

### setFixedDelayTasks

    public void setFixedDelayTasks(Map<Runnable,Long> fixedDelayTasks)

  Specify triggered tasks as a Map of Runnables (the tasks) and fixed-delay values.

  See Also:
    `TaskScheduler.scheduleWithFixedDelay(Runnable, long)`

### afterPropertiesSet

    public void afterPropertiesSet()

  Description copied from interface: `InitializingBean`
  Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

  This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

  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`