Spring Boot--計画任務

3590 ワード

Spring 3.1からSpringでの実装が異常に簡単になる予定です.まず、設定クラスの注釈@EnbleSchedulingで計画的なタスクに対するサポートを開始し、その後、集合タスクを実行する方法で@Scheduledを注釈し、これは計画的なタスクであると宣言します.
Spring@Schduledを通じて、複数種類の計画任務をサポートします.cron、fixDelay、fixRateなどを含みます.
一、計画タスク実行クラス
package com.cenobitor.scheduler.taskscheduler;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;


@Service
public class ScheduledTaskService {
    private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)//1
    public void reportCurrentTime(){
        System.out.println("         "+DATE_FORMAT.format(new Date()));
    }

    @Scheduled(cron = "0 02 22 ? * *")//
    public void fixTimeExecution(){
        System.out.println("      "+DATE_FORMAT.format(new Date())+"  ");
    }
}
1、@Screduledを通して、この方法は計画任務であり、fixedRate属性を使って固定時間ごとに実行すると宣言しています.
2、cron属性を使用して指定された時間に実行できます.この例は毎日22時02分に実行します.
二、運転
package com.cenobitor.scheduler;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class SchedulerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SchedulerApplication.class, args);
    }
}
@EnbleSchedulingを使って計画タスクに対するサポートを開始します.
実行結果:
5秒ごとに1回22:01:54 5秒ごとに22:01:59指定時間22:02:00に5秒ごとに実行します.22:02:04
  注:「JavaEE開発の転覆者SpringBoot実戦」から抜粋します.