Spring Cron表达式的详细用法

Spring定时任务@Scheduled注解使用配置方式(cron表达式、fixedRate和fixedDelay) Spring定时任务@Scheduled注解使用配置方式(cron表达式、fixedRate和fixedDelay) 序言: 个人推荐一个很方便的在线Cron生成器(网页版):https://qqe2.com/cron/index 一、前言 spring的@Scheduled定时任务相信大家都是十分熟悉。最近在项目开发过程中发现了一些问题,写篇文章,和大家分享一下。结论在最后,想直接看的可以拉到最后。 二、使用 @Scheduled的使用方式十分简单,首先在项目启动类添加注解@E.. 阅读详情

原文地址:http://www.cnblogs.com/obullxl/archive/2011/07/10/spring-quartz-cron-integration.html

一、Cron表达式的详细用法

字段 允许值 允许的特殊字符 
秒 0-59 , - * / 
分 0-59 , - * / 
小时 0-23 , - * / 
日期 1-31 , - * ? / L W C 
月份 1-12 或者 JAN-DEC , - * / 
星期 1-7 或者 SUN-SAT , - * ? / L C # 
年(可选) 留空, 1970-2099 , - * /

例子:
0/5 * * * * ? : 每5秒执行一次

“*”字符被用来指定所有的值。如:"*"在分钟的字段域里表示“每分钟”。 
“?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。看下面的例子你就会明白。 
月份中的日期和星期中的日期这两个元素时互斥的一起应该通过设置一个问号来表明不想设置那个字段。

“-”字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。

“,”字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”。

“/”字符用于指定增量。如:“0/15”在秒域意思是每分钟的0,15,30和45秒。“5/15”在分钟域表示每小时的5,20,35和50。符号“*”在“/”前面(如:*/10)等价于0在“/”前面(如:0/10)。记住一条本质:表达式的每个数值域都是一个有最大值和最小值的集合,如:秒域和分钟域的集合是0-59,日期域是1-31,月份域是1-12。字符“/”可以帮助你在每个字符域中取相应的数值。如:“7/6”在月份域的时候只有当7月的时候才会触发,并不是表示每个6月。

L是‘last’的省略写法可以表示day-of-month和day-of-week域,但在两个字段中的意思不同,例如day-of-month域中表示一个月的最后一天。如果在day-of-week域表示‘7’或者‘SAT’,如果在day-of-week域中前面加上数字,它表示一个月的最后几天,例如‘6L’就表示一个月的最后一个星期五。

字符“W”只允许日期域出现。这个字符用于指定日期的最近工作日。例如:如果你在日期域中写 “15W”,表示:这个月15号最近的工作日。所以,如果15号是周六,则任务会在14号触发。如果15好是周日,则任务会在周一也就是16号触发。如果是在日期域填写“1W”即使1号是周六,那么任务也只会在下周一,也就是3号触发,“W”字符指定的最近工作日是不能够跨月份的。字符“W”只能配合一个单独的数值使用,不能够是一个数字段,如:1-15W是错误的。

“L”和“W”可以在日期域中联合使用,LW表示这个月最后一周的工作日。

字符“#”只允许在星期域中出现。这个字符用于指定本月的某某天。例如:“6#3”表示本月第三周的星期五(6表示星期五,3表示第三周)。“2#1”表示本月第一周的星期一。“4#5”表示第五周的星期三。

字符“C”允许在日期域和星期域出现。这个字符依靠一个指定的“日历”。也就是说这个表达式的值依赖于相关的“日历”的计算结果,如果没有“日历”关联,则等价于所有包含的“日历”。如:日期域是“5C”表示关联“日历”中第一天,或者这个月开始的第一天的后5天。星期域是“1C”表示关联“日历”中第一天,或者星期的第一天的后1天,也就是周日的后一天(周一)。

二、表达式举例
"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/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 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触发


4.k8s:cronJob计划任务,初始化容器,污点、容忍,亲和力,身份认证和权限 cronJob计划任务,初始化容器,污点、容忍,亲和力,身份认证和权限 阅读详情

相关推荐

十六、K8S-Job(批处理)和Cronjob:定时任务

spec.startingDeadlineSeconds 字段是可选的。它表示任务如果由于某种原因错过了调度时间,开始该任务的截止时间的秒数,过了截止时间,CronJob 就不会开始该任务的实例(未来的任务仍在调度之中)。

爱吃西红柿的博客 3293

cron表达式详解

npm install --save cron 使用得地方引用 可在某个函数中直接使用 const CronJob = require('cron').CronJob; /*** * cron 表达式 【 秒, 分, 小时, 天, 月, 星期, 年(可选得) 】 * * * * * *

selfsummer的博客 805

[漏洞剖析]JeecgBoot queryFieldBySql注入与JDBC连接滥用:从内存马植入到RCE的完整攻击链

本文深度剖析了JeecgBoot框架中queryFieldBySql接口的SQL注入漏洞及其引发的完整攻击链。攻击者利用该漏洞,通过Freemarker SSTI植入隐蔽的内存马,并进一步滥用JDBC连接测试功能,借助H2数据库特性实现远程命令执行(RCE),揭示了低代码平台中功能滥用与安全配置疏忽带来的严重风险。

weixin_29232121的博客 115

Cron Job 表达式解析

Cron 是一个实用程序,允许用户输入命令以在特定时间重复安排任务。在 cron 中安排的任务称为 cron job。用户可以确定他们想要自动化的任务类型以及应该在何时执行。Cron 是一个守护进程——一个执行非交互式作业的后台进程。在 Windows 中,您可能熟悉后台进程,例如与 cron 守护进程类似工作的 Services。cron 文件是一个简单的文本文件,其中包含在特定时间定期运行的命令。默认的系统 cron 表或 crontab 配置文件是。

serene的博客 1442

《uni-app 长列表优化:虚拟列表(vue-virtual-scroller)解决 1000+ 数据渲染卡顿》(附虚拟列表封装与多端适配)

本文详细介绍了虚拟列表技术在前端长列表渲染中的优化方案。针对传统v-for渲染导致的性能问题(内存占用高、渲染阻塞、滚动卡顿),提出基于vue-virtual-scroller的虚拟列表解决方案,通过可视区域渲染和DOM复用实现性能突破。文章包含核心原理、组件封装、多端适配及性能对比,并给出常见问题的解决方法。实践表明,该方案可将1000条数据的首次渲染时间从3800ms降至420ms,滚动FPS提升至55帧,显著改善用户体验。

qq_59041750的博客 2107

芒果YOLO11改进106:检测头篇DynamicHead动态检测头:基于DynamicHead,二次原创提出SATNeXt模块,提出全新的动态DynamicSatDetect

检测头篇DynamicHead动态检测头:基于DynamicHead,二次原创提出SATNeXt模块,提出全新的动态DynamicSatDetect

包括YOLOv5、YOLOv7、YOLOv8等模型改进 772

Spring Cron 表达式

Spring Cron表达式解析

Spring , Hadoop, Spark , BI , ML 6581

弱小目标检测跟踪算法研究(5) 基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制

基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制1. 前言2. 顶帽变换(Top_hat)算法3. Matlab仿真4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵“弱"和“小’’两个方面:“弱’’是指目标在红外波长上所表现出来的强度,具体反映到所拍摄的红外图像上,就是指目标的灰度值;而“小’’是指目标的尺寸大小,也就是前面所述的成像面积很小,反映到红外图像上就是指目标所占的像素数目很少。 SPIE国际光学工程学会(Societyof Photo一0ptical Instrument

sinat_34897952的博客 5291

Spring 定时任务@Scheduled 注解中的 Cron 表达式

Spring 框架提供了强大的定时任务功能,通过 @Scheduled 注解可以方便地定义和管理定时任务。其中,Cron 表达式作为定时任务触发的时间表达式,扮演着重要的角色。本文将详细介绍和讲解 Cron 表达式的语法和常见用法,帮助读者更好地理解和使用 Spring 的定时任务功能。

阿水的博客 4万+

解锁激光加工密码:功率、频率、脉宽、占空比全解析

激光加工利用高能量激光束实现材料加工,具有无接触、高效率等特点。其核心参数包括功率(决定能量输出)、频率(控制脉冲重复)、脉宽(调节能量作用时间)和占空比(调控工作周期),这些参数相互协同影响加工效果。针对不同材料需采用差异化参数组合:金属材料需较高功率,塑料需低功率防过热,陶瓷需高频短脉宽减少热应力。实际操作中应通过小范围测试逐步优化参数,并注意解决烧损、切割不平整等常见问题。合理调节这些参数可实现高质量、高效率的激光加工。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 613

(10)三相三绕组变压器的建模仿真

建立了三相三绕组变压器组的Simulink仿真模型,通过实例进行了仿真计算。

weixin_45670943的博客 1141

spring cron表达式及解析过程

1.cron表达式 cron表达式是用来配置spring定时任务执行时间的字符串,由5个空格分隔成的6个域构成,格式如下: {秒}  {分}  {时}  {日}  {月}  {周} 每一个域的含义解释: 1)秒:表示在指定的秒数触发定时任务,范围0-59。例如,"*"表示任何秒都触发,"0,3"表示0秒和3秒触发。 2)分:表示在指定的分钟触发定时任务,范围0-5

jiangshubian的博客 7936

CVPR 2026 即插即用 | 注意力篇 | PFG:多尺度大核+像素级频率门控,特征显著增强,精准适配边缘纹理场景

本文提出了一种基于频率引导的轻量级外围门控模块PFG,用于高效时空预测学习。该模块通过多尺度大核分解卷积(1×K + K×1)捕捉外围空间依赖,同时利用固定频率滤波器提取高频线索,动态融合不同尺度的外围特征。核心创新包括:外围聚焦的多尺度空间增强、频率引导的动态融合机制、双阶段归一化协同等。实验表明,PFGNet在多个基准数据集上达到SOTA性能,同时保持较低计算复杂度。该模块可直接嵌入各类视觉模型,适用于需要强化空间-通道协同表达的轻量级任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 476

spring实战代码之解析CRON表达式

spring实战代码之解析CRON表达式 如果我们要用spring的定时器功能,那么一般会用CRON表达式,事实上,每个框架实现的CRON解析还不同,所以需要用相应的解析规则: import org.springframework.scheduling.support.CronSequenceGenerator; try { int size = 10; // 每月1号执行 String ...

寂寞的博客 3990

C#与天文观测:Celestia模拟星空的奇幻之旅

Celestia就像一艘穿梭在星海中的小飞船,带领我们遨游宇宙。C#则是这艘飞船的智能导航系统,用代码指挥它飞向任何我们向往的星球或星系。首先,下载并安装Celestia,熟悉其基本操作和功能。创建一个星空目标列表,包括不同的恒星、行星和星系。// 示例:定义观察目标列表new SpaceObject("太阳"),new SpaceObject("月球"),new SpaceObject("火星")

java专栏 1455

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spring的@Scheduled 动态更新cron表达式

常见的本地定时写法如下: @Scheduled(cron = "0/5 * * * * ?") private void test() { log.info("业务处理逻辑。。。5秒一次"); } 如果想要动态更新cron表达式,可以这样写: 先写一个类,让cron表达式总是读成员变量的值。 再写一个controller,通过调用set方法就可以动态设置这个cr...

zhangsir的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Spring Task之Cron表达式

Spring Task高能预警:你以为的Cron表达式可能都是错的!【附实战避坑指南】

CccCY_U的博客 917

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring cron 表达式

Spring cron 表达式前言:Cron表达式:域中出现的字符域中特殊字符含义举例每个域范围关于Cron表达式的实例子表达式的含义或范围 前言: Spring cron表达式一般用到定时器中,每周只在特定时间运行一次,可以配置在配置文件里面,也可以使用注解@Scheduled,推荐配置,注解虽方便,但更改需求时,需要代码重新编译。 定时任务配置其实很简单,不再赘述,自行度娘。关键就是方法执行时机,Spring用cron字符串表达式来做设置。 Cron表达式: Cron表达式是一个字符串,字符串以5

qq_44921837的博客 888

Spring cron表达式

Spring_Cron表达式       cron的表达式被用来配置CronTrigger实例。 cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。是一个字符串,以5-6个空格分隔开来,分成6-7个域,每一个域代表一个含义Cron有如下俩种语法格式:     1:Seconds  Minutes  Hours  Day-of-Month  Month  Day-of-Week ...

sinat_32594609的博客 368

七十一、Spring Cron表达式

1. 简介 Spring提供的轻量级调度框架中,任务的调度通过Trigger接口来实现。Trigger接口的一种实现便是基于CRON表达式的。 但是这里的CRON表达式与Linux系列操作系统中crobjob的表达式不一样,需要特别注意。 在使用注解进行调度的时候,一种写法如下: @Schedule (cron="cron expression") public void doEtlJob()...

I want to know a little more. 540

spring boot 推理cron 表达式【只支持6位或7位的cron表达式】

/** * @description: 解析cron表达式转化为时间 yyyy-MM-dd HH:mm:ss * @author: luoyanfei * @date: 2020/3/14 10:29 上午 */ public static List<String> cronToDate(String cronExpression) { System.out.prin...

zhongminyue的博客 3799

Spring Boot中定时任务Cron表达式的终极指南

表达式简洁性:避免过度复杂的Cron表达式,可拆分为多个任务幂等性设计:任务需支持重复执行,防止数据不一致异常处理:添加try-catch并记录日志性能监控:集成Micrometer监控任务执行时长环境隔离:生产环境禁用测试任务通过合理运用Cron表达式,开发者可以构建出灵活可靠的定时任务系统。清晰的Cron表达式是可靠调度的基石。

学习编程的小羊的博客 1314

spring定时器及cron表达式

spring定时器及cron表达式(quartz中时间表达式)   在Spring中有两种流行配置:Java的Timer类和OpenSymphony的Quartz。  1.Java Timer定时  首先继承java.util.TimerTask类实现run方法  import java.util.TimerTask;  public class EmailReport

五七七 9585
上一篇: Lucene的分词器Analyzer
下一篇: Lucene分词器之庖丁解牛
ld_flex
博客等级 码龄16年 26粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值