SpringBoot实现定时器

  • JDK 的Timer类
  • SpringTask 
  • Quartz 

SpringTask实现步骤:

  • SpringBoot启动类添加@EnableScheduling 注解,开启定时任务功能。

         

  • 编写定时任务,新建SchedulingTask类 
  1. 在任务的类上写@Component,将当前的任务类注入到容器。
  2. 在任务方法上写@Scheduled,然后编写cron表达式。
package com.example.demo.Config;

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

@Component
public class SchedulingTask {
    //表示每隔3秒执行一次
    // @Scheduled(fixedRate = 6000)
    
    // 表示方法执行完成后5秒再执行
    @Scheduled(fixedDelay = 6000)
    
    // 表示每五秒执行一次
    //@Scheduled(cron = "*/6 * * * * ?")
    public void TestTask() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateFormat.format(new Date()));
    }
}

fixedDelay:你业务执行完毕后,6秒再执行。

fixedRate:不论你业务执行花费了多少时间,每隔6秒执行一次。

cron表达式:可以设置每天什么时候执行(在线Cron表达式生成器:https://cron.qqe2.com

Quartz 实现步骤:

原文地址:https://www.cnblogs.com/zxg-6/p/13726679.html