SpringTask

springboot集成了springtask,不用导依赖可以直接开启定时任务

需要在启动类上添加注解开启定时任务

@EnableScheduling

示例

// 项目启动后可以被spring扫描到
@Component
public class QuickStart {

    private int count = 0;
    // 每一秒钟执行一次
//    @Scheduled(cron = "*/1 * * * * ?")
//    上一次开始执行时间点之后2秒再执行,与上面corn参数形式一致
//    @Scheduled(fixedRate = 2000)

//    上一次执行完毕时间点之后2秒再执行
//    @Scheduled(fixedDelay = 2000)

//    第一次延迟6秒后执行,以后每1秒执行一次
    @Scheduled(initialDelay=6000, fixedRate=1000)
    private void process() {
        System.out.println("定时任务1:" + (count++)+"当前时间:"+ LocalDateTime.now());
    }
}

CronTrigger 的使用

也就是cron参数值应该怎么写

这个定时任务表达式代表:

一些符号的用法:

调度工作, CronTriggerBean调度器介绍

 一个cron表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下

参数1:秒  0 - 59

参数2:分钟  0-59

参数3:小时  0-23

参数4:月份中的日期  0-30

参数5:月份 0-11或JAN-DEC

参数6:星期中的日期 1-7或SUN-SAT

参数7:年份1970-2099

 每一个元素都可以显式地规定一个值(如6),一个区间(如9-12),一个列表(如9,11,13)或一个通配符(如*)。“月份中的日期”和“星期中的 日期”这两个元素是互斥的,因此应该通过设置一个问号(?)来表明你不想设置的那个字段

【案例】

   0 0 10,14,16 * * ? 每天上午10点,下午2点,4点

   0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时,从0分开始每隔30分钟发送一次

   0 0 12 ? * WED 表示每个星期三中午12点 

  "0 0 12 * * ?" 每天中午12点触发 

  "0 15 10 ? * *" 每天上午10:15触发 

  "0 15 10 * * ?" 每天上午10:15触发 

  "0 15 10 * * ? *" 每天上午10:15触发 

  "0 15 10 * * ? 2005" 2005年的每天上午10:15触发 

 "0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 

 "0 0/55 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 

 "0 0/55 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 

 "0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发 

 "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 

 "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 

 "0 15 10 15 * ?" 每月15日上午10:15触发 

 "0 15 10 L * ?" 每月最后一日的上午10:15触发 

 "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 

 "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 

 "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发 
Copyright © TaoQZ 2019 all right reserved,powered by Gitbook作者联系方式:taoqingzhou@gmail.com 修订时间: 2024-11-19 17:25:42

results matching ""

    No results matching ""

    results matching ""

      No results matching ""