Spring官网指导学习笔记:Scheduling Tasks

该部分主要是进行Spring下定时任务的设计。采用@Scheduled来标定定时任务函数,其中fixedRate指定函数调用时间间隔,fixedDelay指定任务完成后再次调用的时间间隔。同时还可以通过corn参数来,表达式为“秒 分 时 日 月 周”

"second minute hour day month weekday"
"0 0 * * * *" = 每一天的每小时执行。
"*/10 * * * * *" = 每十秒执行。
"0 0 8-10 * * *" = 每天8, 9和10执行。
"0 0 6,19 * * *" = 每天6:00和19:00执行。
"0 0/30 8-10 * * *" = 每天8:00, 8:30, 9:00, 9:30, 10:00和10:30执行。
"0 0 9-17 * * MON-FRI" = 周一到周五的9:00到17:00执行。
"0 0 0 25 12 ?" = 每个圣诞节午夜执行。

使用方式如下,注意此函数的类要使用@Component进行注解:

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTimeRate() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }

    @Scheduled(corn = "* * * * * *")
    public void reportCurrentTimeCron() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }

为使用定时,Spring需要在后台启动一个守护进程,为初始化后台任务执行器,需要使用注解@EnableScheduling

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

你可能感兴趣的:(Spring官网指导学习笔记:Scheduling Tasks)