cron表达式

spring整合quartz框架

醉酒当歌 提交于 2019-12-02 16:58:01
spring整合quartz: 网上也有很多教程,好多都是基于配置方式,我们使用当然怎么简单就怎么用,所以这里介绍基于注解方式整合quartz。前提:你需要有一个能运行的web项目。 1、引依赖: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency> 注意: 网上有的教程说还必须引入 spring-context-support 依赖,但是本项目没有引入这个也可以正常使用quartz,可能是最新版不需要这个依赖了。 2、开启quartz的注解: 一般我们都在service层使用quartz,所以在 spring-service.xml 中进行如下配置: <context:component-scan base-package="com.zhu.meilianMall.service" /> <task:annotation-driven/> 注意: 第一行扫描包的配置是ssm整合本来就需要的,等下quartz的注解也只能在这个包下使用。 3、使用quartz的注解: 在 com.zhu.meilianMall.service 包下创建测试类,在需要定时执行的方法上加上 @Scheduled

cron表达式详解

风流意气都作罢 提交于 2019-12-02 06:17:06
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:   (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year   (2) Seconds Minutes Hours DayofMonth Month DayofWeek      一、结构   corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份   二、各字段的含义 字段 允许值 允许的特殊字符 秒(Seconds) 0~59的整数 , - * / 四个字符 分( Minutes ) 0~59的整数 , - * / 四个字符 小时( Hours ) 0~23的整数 , - * / 四个字符 日期( DayofMonth ) 1~31的整数(但是你需要考虑你月的天数) ,- * ? / L W C 八个字符 月份( Month ) 1~12的整数或者 JAN-DEC , - * / 四个字符 星期( DayofWeek ) 1~7的整数或者 SUN-SAT (1=SUN) , - * ? / L C # 八个字符 年(可选,留空)( Year ) 1970~2099 , - * / 四个字符    注意事项:   每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是

Quartz中时间表达式的设置-----corn表达式

倾然丶 夕夏残阳落幕 提交于 2019-12-02 04:54:27
Quartz中时间表达式的设置-----corn表达式 时间格式: <!-- s m h d m w(?) y(?) -->, 分别对应: 秒>分>小时>日>月>周>年, 举例: 1.每天什么时候执行: <value>0 59 23 * * ?</value>: 如下为每天23:59:00开始执行 <value>0 1,2,3 11,12 * * ? </value>: 每天11:01,11:02,11:03; 12:01,12:02,12:03分执行任务 2.每隔多久执行: 汇总说明: Cron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能,细说如下: ●星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟”; ●问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符; ●减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12; ●逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五; ●斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y

cron 应用

拜拜、爱过 提交于 2019-12-02 03:17:17
1 CronSequenceGenerator generator = new CronSequenceGenerator(cronExpression); 2 return generator.next(StringUtils.isBlank(last_excute_time)?new Date():SDF_SECOND.parse(last_excute_time)); //传入cron表达式和上次执行时间,返回下次执行时间 来源: https://www.cnblogs.com/jiangwg/p/11728342.html

quartz 时间配置

心不动则不痛 提交于 2019-11-30 12:50:17
Quartz中时间表达式的设置-----corn表达式 (注:这是让我看比较明白的一个博文,但是抱歉,没有找到原作者,如有侵犯,请告知) 时间格式: <!-- s m h d m w(?) y(?) -->, 分别对应: 秒>分>小时>日>月>周>年, 举例: 1.每天什么时候执行: <value>0 59 23 * * ?</value>: 如下为每天23:59:00开始执行 <value>0 1,2,3 11,12 * * ? </value>: 每天11:01,11:02,11:03; 12:01,12:02,12:03分执行任务 2.每隔多久执行: 汇总说明: Cron表达式的时间字段除允许设置数值外,还可使用一些特殊的字符,提供列表、范围、通配符等功能,细说如下: ●星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟”; ●问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符; ●减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12; ●逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五; ●斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15

java quartz 中的时间格式

自作多情 提交于 2019-11-30 04:49:48
上一文中提到 Cron触发器可以接受一个表达式来指定执行JOB,下面看看这个表达式的语法。 cron 表达式的格式 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级。许多我们的触发计划要基于秒级递增的(例如,每45秒),因此这是一个非常好的差异。 在 UNIX cron 里,要执行的作业(或者说命令)是存放在 cron 表达式中的,在第六个域位置上。Quartz 用 cron 表达式存放执行计划。引用了 cron 表达式的 CronTrigger 在计划的时间里会与 job 关联上。 另一个与 UNIX cron 表达式的不同点是在表达式中支持域的数目。UNIX 给出五个域(分、时、日、月和周),Quartz 提供七个域。表 5.1 列出了 Quartz cron 表达式支持的七个域。 表 5.1. Quartz Cron 表达式支持到七个域 名称 是否必须 允许值 特殊字符 秒 是 0-59 , - * / 分 是 0-59 , - * / 时 是 0-23 , - * / 日 是 1-31 , - * ? / L W C 月 是 1-12 或 JAN-DEC , - * / 周 是 1-7 或 SUN-SAT , - * ? /

cron表达式

你。 提交于 2019-11-29 20:58:27
最近工作碰到个小问题,需要获取cron表达式的上一次最近运行的时间,找了好一会没找到获取的方法,下载了Quartz源码,有点乱,就没仔细看,其实这个问题完全可以从设计上规避掉,在表里存下每次运行后的下次运行时间,后面只需要判断当前时间和表里存的下次运行时间比较即可,附 获取cron表达式下次运行时间C#代码,这个在网上比较多,我个人记录下 public static DateTime GetNextRunTime(string cron) { var dt = GetCronSchdule(cron, 1, DateTimeOffset.Now); return dt.First(); } /// <summary> /// Corn表达式的运行时间 /// </summary> public static List<DateTime> GetCronSchdule(string cron, int times, DateTimeOffset startTime) { List<DateTime> timeSchdule = new List<DateTime>(); if (!CronExpression.IsValidExpression(cron)) { return timeSchdule; } ITrigger trigger1 = TriggerBuilder

Cron表达式示例

你离开我真会死。 提交于 2019-11-29 20:49:00
每隔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 * * * ? 每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ? 来源: https://www.cnblogs.com/codefeng/p/11531541.html

定时任务cron表达式详解

守給你的承諾、 提交于 2019-11-29 05:07:12
cron表达式 顺序 秒 分钟 小时 日期 月份 星期 年(可选) 取值 0-59 0-59 0-23 1-30(31) 1-12 1-7 允许特殊字符 , - * / , - * / , - * / , - * / ? L W C , - * / , - * / L # C 1970-2099 , - * / 字段含义 *:代表所有可能的值 -:指定范围 ,:列出枚举 例如在分钟里,"5,15"表示5分钟和20分钟触发 /:指定增量 例如在分钟里,"3/15"表示从3分钟开始,没隔15分钟执行一次 ?:表示没有具体的值,使用?要注意冲突 L:表示last,例如星期中表示7或SAT,月份中表示最后一天31或30,6L表示这个月倒数第6天,FRIL表示这个月的最后一个星期五 W:只能用在月份中,表示最接近指定天的工作日 #:只能用在星期中,表示这个月的第几个周几,例如6#3表示这个月的第3个周五 示例 0 * * * * ? 每1分钟触发一次 0 0 * * * ? 每天每1小时触发一次 0 0 10 * * ? 每天10点触发一次 0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发 0 30 9 1 * ? 每月1号上午9点半 0 15 10 15 * ? 每月15日上午10:15触发 */5 * * * * ? 每隔5秒执行一次 0 */1 * * * ?

quartz cron表达式

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 03:44:56
Cron表达式是由6所需的字段和一个可选字段由空格分隔 Cron表达式的格式:秒 分 时 日 月 周 年(可选) Field Name Allowed Values Allowed Special Characters Seconds 0-59 , - * / Minutes 0-59 , - * / Hours 0-23 , - * / Day-of-month 1-31 , - * ? / L W Month 1-12 or JAN-DEC , - * / Day-of-Week 1-7 or SUN-SAT , - * ? / L # Year (Optional) empty, 1970-2199 , - * / “*”字符被用来指定所有的值。如:"*"在分钟的字段域里表示“每分钟”。 “?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。 由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置一个问号. “-”字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。"0 0 9 ? * 2-6" 周一到周五每天上午9点 “,”字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”。 “/”字符用于指定增量。如: