`
yingpengfei1215
  • 浏览: 39647 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

【转】Quartz CronTrigger最完整配置说明

 
阅读更多

Quartz CronTrigger最完整配置说明 
CronTrigger配置格式: 

格式: [秒] [分] [小时] [日] [月] [周] [年] 

序号 说明 
  是否必填  允许填写的值 允许的通配符 

1  秒  是  0-59     , - * / 
2  分  是  0-59 
   , - * / 
3 小时  是  0-23   , - * / 
4  日  是  1-31   , - * ? / L W 
5  月  是  1-12 or JAN-DEC   , - * / 
6  周  是   1-7 或者 SUN-SAT , - * ? / L C # 
7  年  否  empty 或 1970-2099  , - * /  

通配符说明: 

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

“-”字符被用来指定一个范围。如:“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触发
"0 0 6 * * ?" 每天早上6点
"0 0 */2 * * ?” 每两个小时
"0 23-7/2,8 * * *" 晚上11点到早上8点之间每两个小时,早上八点
"0 0 11 4 * 1-3" 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
"0 0 4 1 1 *" 1月1日早上4点

分享到:
评论

相关推荐

    Quartz CronTrigger配置说明

    ### Quartz CronTrigger配置详解 #### 一、CronTrigger简介 CronTrigger 是 Quartz 调度器中一种非常强大的任务触发机制,它基于类似于 Unix cron 的表达式来定义任务的执行时间。CronTrigger 表达式由七个或八个...

    Springboot2-Quartz 后台可动态配置的定时任务

    总的来说,"Springboot2-Quartz 后台可动态配置的定时任务"项目提供了一个完整的解决方案,帮助开发者在SpringBoot环境中轻松管理定时任务,不仅能够满足基础的定时需求,还具备了后台动态调整的灵活性,对于需要...

    关于spring中quartz的配置

    以下将详细介绍如何在Spring中配置Quartz以及相关知识点。 1. **引入依赖** 在开始配置之前,首先需要在项目的`pom.xml`或`build.gradle`文件中引入Quartz和Spring相关的依赖库。对于Maven项目,可以添加如下依赖...

    Quartz 数据库动态配置

    这就是“Quartz数据库动态配置”所解决的问题。 Quartz通过将作业(Jobs)和触发器(Triggers)的信息存储在数据库中,实现了配置的动态化。这样,我们可以在不重启应用的情况下,通过修改数据库中的表来添加、删除...

    Spring整合quartz2.2.3总结,quartz动态定时任务,Quartz定时任务集群配置

    2. 配置Scheduler:在Spring的配置文件中,使用`SchedulerFactoryBean`来初始化和配置Quartz Scheduler。可以设置如数据库存储、线程池大小等参数。 3. 创建Job类:定义一个实现了`org.quartz.Job`接口的类,这是...

    quartz在tomcat下配置使用

    这篇博客将探讨如何在Tomcat环境下配置和使用Quartz。 首先,我们需要理解Quartz的核心概念。Quartz提供了Job(作业)和Trigger(触发器)两个主要组件。Job代表一个具体的任务,而Trigger则定义了何时执行这个任务...

    定时任务 Quartz调度(采用配置文件)

    本篇将深入探讨Quartz如何通过配置文件来设置和管理定时任务。 一、Quartz简介 Quartz的核心概念包括Job(工作)、Trigger(触发器)和Scheduler(调度器)。Job是实际要执行的任务,Trigger决定何时触发Job,而...

    web工程quartz的配置实例

    Quartz的配置主要通过`quartz.properties`文件进行。该文件中可以设置数据库连接、线程池大小、Job存储方式等。例如: ``` org.quartz.scheduler.instanceName = MyScheduler org.quartz.threadPool.class = org...

    Quartz开发使用说明文档

    Quartz开发使用说明文档 Quartz是一个功能强大且广泛应用的开源作业调度框架,主要用于实现业务逻辑中的定时任务、批处理、事件触发等场景。Quartz的主要特点是高可用性、可扩展性、灵活配置、支持多种数据库和集群...

    quartz cronExpression配置说明

    在Quartz中,`cronExpression`是用于设置基于cron表达式的时间触发规则的关键配置项,这种表达式允许我们以非常灵活的方式定义任务的执行周期。 cronExpression的格式是由7个子表达式组成的字符串,每个子表达式...

    CronTrigger配置格式

    以下是一些常见的CronTrigger配置示例: - "0 0 12 * * ?":每天中午12点触发。 - "0 15 10 ? * *":每天10点15分触发。 - "0 15 10 * * ? 2005":仅在2005年每天10点15分触发。 - "0 0/5 14,18 * * ?":每天下午2点...

    Spring -Quartz的配置

    这里,`quartz.properties`是Quartz的配置文件,`jobFactory`是Spring的JobFactory,`myJob`定义了一个Job,`yourService`是你打算在Job中调用的服务,`executeTask`是服务中执行定时任务的方法,`cronTrigger`则是...

    spring-quartz定时设置详细说明

    在提供的 `spring-quartz 定时详细说明.txt` 文件中,应该会有更具体的配置示例和详细步骤,这将进一步帮助你理解和实践这个过程。记得根据项目需求调整配置和任务逻辑,以实现最佳的定时任务解决方案。

    转:spring多个定时任务quartz配置

    本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...

    定时器(quartz+spring)读取数据库配置

    本教程将深入探讨如何使用Quartz与Spring框架结合来创建一个能从数据库读取配置的定时任务。 Quartz是一个开源的作业调度框架,它提供了丰富的API和功能,可以用来安排和执行任务。Spring框架则是一个全面的企业级...

    quartz定时调度完整实例

    在这个"quartz定时调度完整实例"中,我们将深入理解Quartz的工作原理和如何在项目中实际应用。 1. **Quartz简介** - Quartz是Cron-like和Calendar-based作业调度的Java实现,它允许开发人员在应用程序中定义、安排...

    对于Quartz.net 3.0.7.0(目前最高版本)的使用:能过配置文件实现工作调整

    在描述中提到的问题是关于如何在3.x版本中通过`quartz_jobs.xml`配置文件实现作业调度,这在许多教程中可能较少被提及,因为早期版本的Quartz.NET更倾向于使用XML配置,而新版本则倾向于使用代码配置或者混合方式。...

    Quartz.net最新版定时任务可配置

    在最新的3.0及以上版本中,Quartz.NET引入了更加强大和灵活的配置方式,使得开发者能够更加便捷地定制自己的任务调度逻辑。 1. **配置方式**: - XML配置:Quartz.NET支持通过XML文件进行配置,可以定义Job(任务...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    创建一个`quartz.properties`配置文件,指定Quartz的配置参数,如线程池大小、Job存储策略等。 3. **配置Spring**: 在Spring配置文件(如`applicationContext.xml`)中配置Quartz的SchedulerFactoryBean。 ```...

    Quartz集群配置和示例源码

    集群配置是Quartz为了提高系统可用性和任务处理能力而设计的一种模式,它可以确保在一个集群环境中,即使某个节点出现问题,其他节点也能接管任务执行,从而避免数据丢失和任务中断。下面将详细阐述Quartz集群的配置...

Global site tag (gtag.js) - Google Analytics