`

quartz时间设置

    博客分类:
  • Java
 
阅读更多
Field Name  Mandatory?  Allowed Values  Allowed Special Characters 
Seconds  YES  0-59  , - * / 
Minutes  YES  0-59  , - * / 
Hours  YES  0-23  , - * / 
Day of month  YES  1-31  , - * ? / L W C 
Month  YES  1-12 or JAN-DEC  , - * / 
Day of week  YES  1-7 or SUN-SAT  , - * ? / L C # 
Year  NO  empty, 1970-2099  , - * / 

项目实例:
              second  minute  hours  dayOfMonth  month  dayOfWeek  year
每月         0            0           6              ?                    *                6#3            ?
每周        59           59         18            ?                    *                1                ?
自定义    28          47          9             30                 7                ?             2006
 
每月:每个月的第三个星期五的上午6:00:00 触发
每周:每周的星期日的下午18:59:59 触发
自定义:2006年7月30日上午9:47:28 触发
 
所有星号对应的段位置,都可以出现后面的符号(, - * /)
(? / L C)这些符号可以出现在"一月哪天"和"星期"段位置
(w)只能出现在"一月哪天"段位置
(#)只能出现在"星期"段位置

解释符号代表的意思:
* 代表任意合法的字段
0 * 17 * * ? :表示在每天的5 PM 到 5:59之间的每一分钟启动scheduler

? 表示没值被指定
如果同时指定"一月哪天"和"星期",可能两者对应不起来
0 0,15,30,45 * * * ? :表示每刻钟启动scheduler
所以推荐用法是其中一个指定值,另一个用?指定

/ 表示时间的增量
0 0/15 * * * ? :表示每刻钟启动scheduler

- 表示值的范围
0 45 3-8 ? * *

L 如果用在"一月哪天"段上,表示一个月的最后一天;如果用在"星期"段上。表示一个星期的最后一天(星期六)
0 0 8 L * ? :表示每个月最后一天的8点启动scheduler

W 表示最靠近给定时间的一天,(必须是星期一到星期五)

# 例如 6#3表示一个月的第三个星期五
 

一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

按顺序依次为
秒(0~59)
分钟(0~59)

小时(0~23)

天(月)(0~31,但是你需要考虑你月的天数)

月(0~11)

天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

7.年份(1970-2099)

其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.

0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
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/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触发

有些子表达式能包含一些范围或列表

例如:子表达式(天(星期))可以为 "MON-FRI","MON,WED,FRI","MON-WED,SAT"

"*"字符代表所有可能的值

因此,""在子表达式(月)里表示每个月的含义,""在子表达式(天(星期))表示星期的每一天

"/"字符用来指定数值的增量

例如:在子表达式(分钟)里的"0/15"表示从第0分钟开始,每15分钟

在子表达式(分钟)里的"3/20"表示从第3分钟开始,每20分钟(它和"3,23,43")的含义一样

"?"字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值

当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为"?"

"L" 字符仅被用于天(月)和天(星期)两个子表达式,它是单词"last"的缩写

但是它在两个子表达式里的含义是不同的。

在天(月)子表达式中,"L"表示一个月的最后一天

在天(星期)自表达式中,"L"表示一个星期的最后一天,也就是SAT

如果在"L"前有具体的内容,它就具有其他的含义了

例如:"6L"表示这个月的倒数第6天,"FRIL"表示这个月的最一个星期五

注意:在使用"L"参数时,不要指定列表或范围,因为这会导致问题

分享到:
评论

相关推荐

    spring+quartz动态设置定时时间

    本篇文章将深入探讨如何在Spring与Quartz结合的环境中动态设置定时时间。 首先,Spring框架提供了方便的依赖注入和AOP(面向切面编程)功能,使得集成其他库变得更加容易。Quartz是一个强大的作业调度框架,它可以...

    spring mvc quartz 动态设置时间

    【Spring MVC + Quartz 动态设置时间】 在Java Web开发中,Spring MVC和Quartz库经常被用来构建灵活的任务调度系统。Quartz是一个强大的、开放源码的作业调度框架,可以用于创建、调度和执行重复任务。而Spring MVC...

    Spring Quartz如何动态配置时间

    在 Quartz 任务调度器中,我们需要更新任务触发器的时间设置,以便于任务可以根据新的时间规则来执行。 6. RESCHEDULE THE JOB 最后,我们需要重新安排任务的执行,以便于 Quartz 任务调度器可以根据新的时间规则...

    Quartz 的Cron时间设置.doc

    ### Quartz的Cron时间设置详解 #### 一、Cron表达式概述 Cron表达式是一种用于配置定时任务执行频率的格式化字符串。在Quartz框架中,Cron表达式通常用于Trigger对象来定义Job执行的时间规则。一个标准的Cron表达式...

    quartz在spring中的使用实例

    7. **Quartz时间设置**:`Quartz时间设置.txt`可能包含了具体的Cron表达式或其他时间配置示例。Cron表达式由7个子表达式组成,分别代表秒、分、小时、日、月、周几和年。例如,"0 0 12 * * ?" 表示每天中午12点执行...

    quartz表达式设置 js脚本

    Quartz是一个开源的作业调度框架,它允许程序员和系统管理员安排任务在特定的时间点或按照预定义的周期执行。在JavaScript环境中,虽然Quartz通常与Java应用服务器一起使用,但可以通过一些方式将其表达式功能引入到...

    quartz时间参数转换工具

    定时任务时间参数转换,cron表达式轻易转换,更易理解时间参数设置类型及转换含义

    QuartzDemo及iis闲置时间解决方案

    6. **优化Quartz.NET配置**:确保Quartz.NET配置文件(通常是quartz.config)中的设置适合你的需求,例如,设置适当的线程池大小,以便在多并发任务时能有效处理。 总结起来,Quartz和IIS结合使用时,可能会遇到IIS...

    spring-quartz定时设置详细说明

    以下是对 "spring-quartz 定时设置详细说明" 的详细解释。 一、Quartz 简介 Quartz 是一个开源的作业调度框架,可以用来创建、调度和执行任务。它支持复杂的调度策略,如按时间间隔执行、在特定日期执行等。Quartz ...

    spring quartz 时间调用框架

    **Spring Quartz时间调用框架详解** Spring Quartz是一个在Spring框架中集成的时间调度插件,它允许开发者方便地创建和管理定时任务。Quartz是Java领域的一款功能强大的作业调度库,而Spring通过其优秀的IoC...

    关于spring中quartz的配置

    -- 设置JobDetail和Trigger --> <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 指定Job类和执行方法 --> ...

    java Spring OpenSymphony的Quartz定时器的时间设置

    ### Java Spring 中 OpenSymphony 的 Quartz 定时器时间设置详解 #### 一、Spring定时器的两种实现方式概述 在Java Spring框架中,开发者有多种选择来实现定时任务的功能,其中最为流行的两种方式分别是使用Java...

    quartz动态从数据库获取时间定时

    在"quartz动态从数据库获取时间定时"的场景中,我们可以理解为Quartz的任务执行时间不是硬编码在程序中,而是从数据库中动态获取,这提供了更大的灵活性和可配置性。 首先,让我们来详细了解一下Quartz的核心概念:...

    Quartz 固定时间间隔计划+Calendar和Cron

    例如,如果你想每星期一的上午9点执行某个任务,可以创建一个`CalendarIntervalTrigger`,设置间隔为7天,并指定开始时间。 Cron表达式是一种强大的工具,可以定义非常灵活的调度规则。它由7个子表达式组成,分别...

    quartz配置含表达式的事务以及集群上quartz配置

    例如,如果你使用的是JDBCJobStore,你需要在`org.quartz.jobStore.isClustered`属性设置为`true`,开启集群模式,并且在`org.quartz.jobStore.txIsolationLevelName`中指定事务隔离级别,如`READ_COMMITTED`或`...

    quartz quartz-1.8.6 dbTables 建表sql

    正确设置并使用这些数据库表后,Quartz就可以在数据库中持久化作业和触发器的状态,即使应用程序重启,也能恢复之前设定的调度信息,实现任务的连续性和可靠性。 总之,"quartz quartz-1.8.6 dbTables" 提供了构建...

    quartz 时间调度器的使用

    根据需要定义 Trigger,如设置触发时间、重复频率等。例如,创建一个简单的触发器: ```java Date startTime = new Date(); SimpleTrigger trigger = (SimpleTrigger) TriggerBuilder.newTrigger() ....

    quartz-1.6.0.jar和quartz-all-1.6.0.jar

    关于触发器,CronTrigger允许我们根据cron表达式设置触发时间,这种表达式能精确到秒,非常适合按周期性的计划执行任务。而SimpleTrigger则适用于一次性或者基于固定间隔重复执行的任务。 总的来说,Quartz是一个...

    quartz在Spring中的配置

    ### quartz在Spring中的配置 #### 一、简介与基本配置 Quartz 是一款开源的任务调度框架,被广泛应用于 Java 应用程序中进行任务的定时调度。它支持复杂的触发规则,能够实现高度灵活的任务调度机制。Spring 框架...

    定时任务设置及实现quartz

    Quartz提供了多种错误处理策略,如重试、跳过、记录日志等,可依据业务需求进行设置。 9. 性能优化: 调整Quartz配置以优化性能,如减少不必要的内存占用、调整线程池大小等。同时,合理设计CronTrigger或...

Global site tag (gtag.js) - Google Analytics