SpringBoot - 定时任务

1,开启定时任务

首先在项目启动类上添加 @EnableScheduling 注解开启定时任务:

@SpringBootApplication
@EnableScheduling
public class DemoApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext context
                = SpringApplication.run(DemoApplication.class, args);
    }
}

2,配置定时任务

定时任务主要通过 @Scheduled 注解进行配置,代码如下:

@Component
public class MySchedule {
    // 当前任务执行结束1秒后开启另一个任务
    @Scheduled(fixedDelay = 1000)
    public void fixedDelay() {
        System.out.println("fixedDelay:"+new Date());
    }
 
    // 当前任务开始执行2秒后开启另一个定时任务
    @Scheduled(fixedRate = 2000)
    public void fixedRate() {
        System.out.println("fixedRate:"+new Date());
    }
 
    // 当前任务开始执行2秒后开启另一个定时任务,并且首次延迟1秒执行
    @Scheduled(initialDelay = 1000, fixedRate = 2000)
    public void initialDelay() {
        System.out.println("initialDelay:"+new Date());
    }
 
    // 使用crom 表达式,下面表示定时任务每分钟执行一次
    @Scheduled(cron = "0 * * * * ?")
    public void cron() {
        System.out.println("cron:"+new Date());
    }
}
上一篇:问题小记(二):Spring @Scheduled 浅尝辄止篇


下一篇:springboot定时器