如何建立学校网站,wordpress ios,注册域名哪个网站好,电子商务网站建设定位设想文章目录 一、开启定时任务二、cron表达式 Spring Task是Spring框架提供的任务调度工具#xff0c;可以按照约定的时间自动执行某个代码逻辑 一、开启定时任务
Spring Boot 默认在无任何第三方依赖的情况下使用 spring-context 模块下提供的定时任务工具 Spring Task。我们只… 文章目录 一、开启定时任务二、cron表达式 Spring Task是Spring框架提供的任务调度工具可以按照约定的时间自动执行某个代码逻辑 一、开启定时任务
Spring Boot 默认在无任何第三方依赖的情况下使用 spring-context 模块下提供的定时任务工具 Spring Task。我们只需要使用 EnableScheduling 注解就可以开启相关的定时任务功能。
SpringBootApplication
EnableScheduling // 开启基于注解的定时任务,发现注解Scheduled的任务并由后台执行
public class SpringbootSpringtaskApplication {public static void main(String[] args) {SpringApplication.run(SpringbootSpringtaskApplication.class, args);}
}当要创建一个定时任务时Scheduled可以直接注解在无返回值无参数方法上表示该方法根据注解的规则定时执行。 Scheduled注解主要支持三种方式 以下参数cron/fixedDelay/fixedRate三个属性必须且只能出现一个
cron方式Scheduled(cron 0 0 2 * * ? )固定速率Scheduled(initialDelay 5000 fixedDelay 2000)单位毫秒固定延时Scheduled(initialDelay 5000 fixedRate 2000)单位毫秒 Scheduled注解支持的部分配置参数 croncron表达式指定任务在特定时间执行fixedDelay表示 上一次任务执行完成后多久再次执行参数类型long单位msfixedDelayString和fixedDelay含义一样只是参数类型变成StringfixedRate表示按一定的频率执行任务参数类型long单位msfixedRateString与fixedRate的含义一样只是参数类型变成StringinitialDelay表示延迟多久再第一次执行任务参数类型long单位msinitialDelayString与initialDelay含义一样只是参数类型变成Stringzone 时区默认为当前时区一般不用 二、cron表达式
cron表达式其实就是一个字符串通过cron表达式可以定义任务触发的时间 构造规则分为6个或7个域由空格分开每个域代表一个含义秒、分钟、小时、日、月、周、年可选可以通过在线Cron表达式生成器快速生成
通配符说明:
* 表示所有值. 例如:在分的字段上设置 “*”,表示每一分钟都会触发。? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作但不关心是周几所以需要周位置的那个字段设置为? 具体设置为 0 0 0 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,正好第五周没有周六则不会触发该配置