Пример планировщика Spring + JDK
Note
ВыучитеJDK Timer scheduler example without Spring и сравните разные с этим примером.
В этом примере вы будете использовать API планировщика Spring для планирования задачи.
1. Задача планировщика
Создать задачу планировщика…
package com.example.common; public class RunMeTask { public void printMe() { System.out.println("Run Me ~"); } }
Spring поставляется сMethodInvokingTimerTaskFactoryBean в качестве замены JDK TimerTask. Вы можете определить свой целевой объект планировщика и метод для вызова здесь.
Spring поставляется сScheduledTimerTask в качестве замены таймера JDK. Здесь вы можете указать имя планировщика, задержку и период.
2. TimerFactoryBean
Наконец, вы можете настроить bean-компонент TimerFactoryBean для запуска задачи планировщика.
Файл: Spring-Scheduler.xml
Запустить его
package com.example.common; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main( String[] args ) { ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Scheduler.xml"); } }
Нет необходимости в коде для вызова задачи планировщика,TimerFactoryBean будет запускать вашу задачу расписания во время запуска. В результате планировщик Spring будет запускать метод printMe () каждые 60 секунд с задержкой в 1 секунду для первого времени выполнения.