首页 > 技术文章 > Springboot 定时任务

liyiran 2019-09-03 20:44 原文

  • 通过在类上注解 @EnableScheduling 来开启对计划任务的支持。然后在要执行计划任务的方法上注解 @Scheduled ,声明这是一个计划任务

  • 通过 @Scheduled 支持多种类型的计划任务,包含 cron, fixDelay, fixRate 等

  • 代码如下:

    @Component
    @EnableScheduling
    public class ScheduledService {
    
        @Scheduled(fixedRate = 5000)
        public void resportCurrentTime(){
            System.out.println("每隔五秒执行一次");
        }
    
    
        @Scheduled(cron = "0 34 20 ? * *")
        public void fixTimeExechtion(){
            System.out.println("20:34执行");
        }
    }
    
  • 代码解释:

    • 通过 @EnableScheduling 注解开启对计划任务的支持
    • 通过 @Scheduled 声明该方法是计划任务,使用 fixedRate 属性每隔固定时间执行
    • 使用 cron 属性可按照执行时间执行,cron 是 UNIX 和类 UNIX 系统下的定时任务
  • 执行结果

    每隔五秒执行一次
    每隔五秒执行一次
    每隔五秒执行一次
    20:34执行
    每隔五秒执行一次
    每隔五秒执行一次
    
  • cron 参数的学习可以参考: https://blog.csdn.net/kollyqaq/article/details/51191047

推荐阅读