首页 > 其他分享 >@Scheduled注解与参数

@Scheduled注解与参数

时间:2023-09-07 18:04:54浏览次数:38  
标签:Scheduled 触发 表示 60 参数 设置 注解 执行

基本参数用法

@Scheduled 由Spring定义,用于将方法设置为调度任务。如:定时执行一次或定时轮询执行一段代码)

参数详解

1、fixedDelay

上一次任务执行完毕时间点之后多长时间再执行,任务的执行要等上一个任务执行结束。

@Scheduled(fixedDelay=60*60*1000)   //每隔1小时执行

2、fixedRate

上一次任务开始执行点之后指定时间后再执行(如果执行时间超过了间隔时间,那上一次任务执行完之后,立即执行下一个任务)

@Scheduled(fixedRate=60*60*1000)   //任务开始执行后隔1小时执行

3 、initialDelay

第一次任务将会延迟指定时间后启动

@Scheduled(fixedDelay=60*60*1000,initialDelay=60*1000)   //第一次任务延迟1分钟启动,之后每隔1小时执行

4、cron

该参数接受一个cron表达式,cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义。

@Scheduled(cron="秒 分 时 日 月 周 年")

年不是必需的,可省略


字段

必填

允许的值域

允许的特殊字符



0~59的整数

,-*/    四个字符



0~59的整数

,-*/    四个字符



0~23的整数

,-*/    四个字符



1~31的整数(考虑实际月份天数)

,-*/ ?LWC 八个字符



1-12的整数或者JAN-DEC

,-*/    四个字符



1-7的整数或者SUN-SAT(1=SUN)

,-*/ ?LC# 八个字符



1970~2099

,-*/    四个字符

  • * 表示所有值。例如:在分的字段上设置‘,表示每一分钟都会触发。
  • ? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为”?”具体设置为000 10* ?
  • - 表示区间。例如在小时上设置“10-12”,表示 10,11,12点都会触发。
  • ,表示指定多个值,例如在周字段上设置“MON,WED,FRI”表示周一,周三和周五触发。
  • / 用于递增触发。如在秒上面设置”5/15”表示从5秒开始,每增15秒触发(5.20.35.50)。在日字段上设置’1/3’所示每月1号开始,每隔三天触发一次。
  • L 表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap),在周字段上表示星期六,相当于”7”或”SAT”。如果在”L”前加上数字,则表示该数据的最后一个。例如在周字段上设置”6L”这样的格式,则表示“本月最后一个星期五”
  • W 表示离指定日期的最近那个工作日(周一至周五).例如在日字段上置”15W”,表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发,如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为“1W” .它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,”W”前只能设置具体的数字,不允许区间”-“)。
  • # 序号(表示每月的第几个周几),例如在周字段上设置”6#3”表示在每月的第三个周六.注意如果指定”#5”正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了);小提示:'L’和‘W’可以一组合使用。如果在日字段上设置”LW”,则表示在本月的最后一个工作日触发;周字段的设置,若使用英文字母是不区分大小写的,即MON与mon相同。
  • LW 这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。 

示例: 

每隔5秒执行一次:* /5 * * * * ?

每隔1分钟执行一次:0 * /1 * * * ?

每天23点执行一次:0 0 23 * * ?

每天凌晨1点执行一次:0 0 1 * * ?

每月1号凌晨1点执行一次:0 0 1 1 * ?

每月最后一天23点执行一次:0 0 23 L * ?

每周星期六凌晨1点实行一次:0 0 1 ? * L

在26分、29分、33分执行一次:0 26,29,33 * * * ?

每天的O点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ? 

标签:Scheduled,触发,表示,60,参数,设置,注解,执行
From: https://blog.51cto.com/u_16252300/7399376

相关文章

  • Java系统变量参数 获取 设置 System.getProperties()
    目录1.获取2.设置3.常用参数4.Systm.getenv()与System.getProperties()区别1.获取 StringosName=System.getProperties().getProperty("os.name"); System.out.println(osName);结果输出:Windows102.设置System.setProperty("jdbc.drivers"......
  • Spring注解开发
    在Spring4之后,要使用注解开发,必须保证aop的依赖包导入。这里我们在maven的pom.xml中导入spring-webmvc这个大的依赖整合包就可以了。<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>6.0.11</version></d......
  • java http传参及使用的注解
    javahttp传参及使用的注解:TTP协议组成协议内容示例对应Spring注解pathinfo传参/articles/12(查询id为12的文章,12是参数)@PathVariableURLQueryString传参/articles?id=12@RequestParamBody传参Content-Type:multipart/form-data@RequestParamBod......
  • Spring 参数校验注解失效
    问题描述使用@Notnull、@Max、@Min等参数校验注解时失效。解决在Controller层请求参数前加入@Valid注解//查询用Get@GetMapping("/query-list")//@Valid让req中的验证注解生效publicCommonResp<List<PassengerQueryResp>>queryList(@ValidPasse......
  • 使用注解实现applicationContext.xml中的内容
    2023-09-07packagecom.hh.config;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.context.annotation.Configuration;/***@authorhh*@version1.0*@DATE2023-09-0712:14:10*/@Configuration@ComponentScan......
  • spring中的bean使用注解创建,applicationContext.xml中需要写的内容,以及dao,service实
    2023-09-07applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns......
  • Intel 14代酷睿全线型号、参数在此!只有i7比较顺眼
    由于采用Intel4新工艺的MeteorLake(酷睿Ultra)性能未达预期,只能用于中低端笔记本,高端游戏本和桌面上,Intel的下一代产品将是14代酷睿,其实就是13代酷睿的升级加强版,工艺、架构、接口、配套主板都不变。现在,YuuKi_AnS公布了14代酷睿的全部型号、规格,虽然还都是QS工程样品,但大致也......
  • 函数的参数
    函数的参数函数参数的两大分类函数的默认参数和位置参数可变参数(不定长参数):*和**命名关键字的参数('*',)函数参数的两大类形参函数在'定义阶段'括号中定义的'变量名'就是形式参数,简称'形参' defindex(a,b):pass#a,b就是形参实参......
  • C#: 将可空的对象传给非空类型参数
    解决方案使用.Value属性获取可空Guid的实际值:如果你确定可空的Guid对象中包含了值(即非null),可以使用.Value属性来获取实际的Guid值。请确保在使用之前进行检查,以避免null引用异常。Guid?nullableGuid=GetNullableGuid();//假设你有一个可空的Guidif(nul......
  • kingbase参数ora_input_emptystr_isnull
    KingbaseES为了兼容Oracle,增加了参数ora_input_emptystr_isnull,用于控制''和null的比较。参数说明:#settheinput_emptystr_isnull'sdefaultvalues,validvaluesaretrue(on)orfalse(off)#true(on):oraclestyle.theemptystringasNULL#whentheinputstringis......