Quartz.net配置文件实例及cron表达式详解

  1. 从XML文件创建作业

    最新版本的quartz.net支持直接从xml文件创建作业,使用起来很方便.配置文件的格式可以参考下面的例子

    <?xml?version="1.0"?encoding="UTF-8"?>
    <quartz?xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
    ????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    ?????????????????version="1.0"
    ????????????????overwrite-existing-jobs="true">
    ??<job>
    ????<job-detail>
    ??????<name>CaiJiJob</name>
    ??????<group>jobGroup1</group>
    ??????<job-type>WAT.PMS.JOB.Job.CaiJiJob,?WAT.PMS.JOB</job-type>???????
    ????</job-detail>

    ????<trigger>
    ??????<simple>
    ????????<name>simpleName</name>
    ????????<group>simpleGroup</group>
    ????????<description>SimpleTriggerDescription</description>??
    ????????<job-name>jobName1</job-name>
    ????????<job-group>jobGroup1</job-group>
    ????????<start-time>1982-06-28T18:15:00.0Z</start-time>???????
    ????????<repeat-count>0</repeat-count>
    ??????</simple>
    ????</trigger>
    ??</job>
    ??<job>
    ????<job-detail>
    ??????<name>SavaDataJob</name>
    ??????<group>jobGroup2</group>
    ??????<job-type>WAT.PMS.JOB.Job.SaveDataJob,?WAT.PMS.JOB</job-type>
    ????</job-detail>

    ????<trigger>
    ??????<cron>
    ????????<name>cronName2</name>
    ????????<group>cronGroup2</group>
    ????????<job-name>jobName2</job-name>
    ????????<job-group>jobGroup2</job-group>
    ????????<start-time>1982-06-28T18:15:00+02:00</start-time>
    ????????<cron-expression>0?0/2?*?*?*??</cron-expression>
    ??????</cron>
    ????</trigger>
    ??</job>
    </quartz>

  2. Cron表达式知识

    "Cron-Expression"由6到7个用空格分开的字段组成的表达式这6或7个字段必须遵循下面的顺序和格式:

    Seconds 0-59 , - * /
    Minutes 0-59 ,- * /
    Hours 0-23 , - * /
    Day-of-month 1-31 , - * ? / L W C
    Month 1-12 or JAN-DEC , - * /
    Day-of-Week 1-7 or SUN-SAT , - * ? / L C #
    Year (Optional) empty, 1970-2099 , - * /
    *是一个通配符,表示任何值,用在Minutes字段中表示每分钟。
    ?只可以用在day-of-month或者Day-of-Week字段中,用来表示不指定特殊的值。
    -用来表示一个范围,比如10-12用在Month中表示10到12月。
    ,用来表示附加的值,比如MON,WED,FRI在day-of-week字段中表示礼拜一和礼拜三和礼拜五。
    /用来表示增量,比如0/15用在Minutes字段中表示从0分开始0和15和30和45分。
    L只可以用在day-of-month或者Day-of-Week字段中,如果用在Day-of-month中,表示某个月的最后一天,1月则是表示31 号,2月则表示28号(非闰年),如果用在Day-of-Week中表示礼拜六(数字7);但是如果L与数字组合在一起用在Day-of-month中, 比如6L,则表示某个月的最后一个礼拜六;

    ?

    0 1 0 1 1-12 ?表示每月1号0点1分执行。
    0 0 21 ? * 1表示每个礼拜天 21点0分执行。
    0 0 0 * * ?表示每天0点0分执行。
    0 * 22 * * ?表示每天22点开始每分钟
    0 * 0-23 * * ?表示每天每分钟(0 * * * * ? 不可以???Doltter注释)

    ?


字段

?
允许值

?
允许的特殊字符


?
0-59

?
, - * /


?
0-59

?
, - * /


小时

?
0-23

?
, - * /


日期

?
1-31

?
, - * ? / L W C


月份

?
1-12 或者 JAN-DEC

?
, - * /


星期

?
1-7 或者 SUN-SAT

?
, - * ? / L C #


年(可选)

?
留空, 1970-2099

?
, - * /

Cron 的小小说明


表示方式


意义


"0 0 12 * * ?"


Fire at 12pm (noon) every day


"0 15 10 ? * *"


Fire at 10:15am every day


"0 15 10 * * ?"


Fire at 10:15am every day


"0 15 10 * * ? *"


Fire at 10:15am every day


"0 15 10 * * ? 2005"


Fire at 10:15am every day during the year 2005


"0 * 14 * * ?"


Fire every minute starting at 2pm and ending at 2:59pm, every day


"0 0/5 14 * * ?"


Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day


"0 0/5 14,18 * * ?"


Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day


"0 0-5 14 * * ?"


Fire every minute starting at 2pm and ending at 2:05pm, every day


"0 10,44 14 ? 3 WED"


Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.


"0 15 10 ? * MON-FRI"


Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday


"0 15 10 15 * ?"


Fire at 10:15am on the 15th day of every month


"0 15 10 L * ?"


Fire at 10:15am on the last day of every month


"0 15 10 ? * 6L"


Fire at 10:15am on the last Friday of every month


"0 15 10 ? * 6L"


Fire at 10:15am on the last Friday of every month


"0 15 10 ? * 6L 2002-2005"


Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005


"0 15 10 ? * 6#3"


Fire at 10:15am on the third Friday of every month

??

?

Quartz.net配置文件实例及cron表达式详解,布布扣,bubuko.com

时间: 2024-12-23 21:54:40

Quartz.net配置文件实例及cron表达式详解的相关文章

(2)Spring集成Quartz定时任务框架介绍和Cron表达式详解

在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码.使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍. 一.增加所依赖的JAR包1.增加Spring的Maven依赖 <dependency> <groupId>org

JAVA quartz cron 表达式详解 日期表达式

quartz cron 表达式详解 字段         允许值               允许的特殊字符   秒           0-59                 , - * /   分           0-59                 , - * /   小时         0-23                 , - * /   日期         1-31                 , - * ? / L W C   月份         1-12

quartz.net 时间表达式----- Cron表达式详解

序言 Cron表达式:就是用简单的xxoo符号按照一定的规则,就能把各种时间维度表达的淋漓尽致,无所不在其中,然后在用来做任务调度(定时服务)的quart.net中所认知执行,可想而知这是多么的天衣无缝,说是编码艺术凝集一点不过分. 牛逼吹完啦,我就写几个简单的cron表达式欣赏下: 1.0/20 * * * * ? note:每20秒 2.15 0/2 * * * ? note:每小时从0分钟开始,每2分钟的第15秒,假如当前时间是20:00:00,那么他的维度就在:20:02:5,20:04

quartz定时任务cron表达式详解

cron表达式用于配置cronTrigger的实例.cron表达式实际上是由七个子表达式组成.这些表达式之间用空格分隔. 1.Seconds (秒)2.Minutes(分)3.Hours(小时)4.Day-of-Month  (天)5.Month(月)6.Day-of-Week (周)7.Year(年) 例:"0 0 12 ? * WED" 意思是:每个星期三的中午12点执行. 个别子表达式可以包含范围或者列表.例如:上面例子中的WED可以换成"MON-FRI",&

Quartz Cron表达式详解

Cron Expressions cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表. <cron-expression>0 0 0 15 * ?</cron-expression>:每个月的15号执行一次 秒 分 时 日 月 年 0:表示凌晨,*表示任意时间 0 0/10 0 15 * ?:每个月的15号每10分钟执行一次.        Seconds        Minutes        Hours        Day-of-Month       

cron表达式详解

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek 每一个域可出现的字符如下: Seconds:可出现", - * /"四个字符,有效范围为0-59的整数 Minutes:可出现", - * /&quo

Cron 表达式详解和案例

1. cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} 2. cron表达式各占位符解释: {秒数} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常 "*" 代表每隔1秒钟触发: "," 代表在指定的秒数触发,比如"0,15,45"代表0秒.15秒和45秒时触发任务 "-" 代表在指定的范围内触发,比如&

Cron 表达式详解

1. cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} 2. cron表达式各占位符解释: {秒数} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常 "*" 代表每隔1秒钟触发: "," 代表在指定的秒数触发,比如"0,15,45"代表0秒.15秒和45秒时触发任务 "-" 代表在指定的范围内触发,比如&

《Cron表达式详解》

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year Seconds Minutes Hours DayofMonth Month DayofWeek 每一个域可出现的字符如下: Seconds:可出现", - * /"四个字符,有效范围为0-59的整数 Minutes:可出现", - * /"