Пример планировщика Spring JDK Timer

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

Скачать исходный код