Пример планировщика 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 секунду для первого времени выполнения.