【Cron Expressions】Quartz Scheduler 2.1.x 英文节选
Cron Expressions
Cron-Expressions are used to configure instances ofCronTrigger. Cron-Expressions are strings that are actually made up of sevensub-expressions, that describe individual details of the schedule. These sub-expressionare separated with white-space, and represent:
1.Seconds
2.Minutes
3.Hours
4.Day-of-Month
5.Month
6.Day-of-Week
7.Year (optional field)
Anexample of a complete cron-expression is the string "0 0 12 ? * WED"- which means"every Wednesday at 12:00:00 pm".
Individualsub-expressions can contain ranges and/or lists. For example, the day of weekfield in the previous (which reads "WED") example could be replacedwith "MON-FRI","MON,WED,FRI", or even"MON-WED,SAT".
Wild-cards(the '' character) can beused to say "every" possible value of this field. Therefore the '' character in the"Month" field of the previous example simply means "everymonth". A '*' in the Day-Of-Week field would therefore obviously mean"every day of the week".
Allof the fields have a set of valid values that can be specified. These valuesshould be fairly obvious – such as the numbers 0 to 59 for seconds and minutes,and the values 0 to 23 for hours. Day-of-Month can be any value 1-31, but youneed to be careful about how many days are in a given month! Months can bespecified as values between 0 and 11, or by using the strings JAN, FEB, MAR,APR, MAY, JUN, JUL, AUG, SEP, OCT,NOV and DEC. Days-of-Week can be specified asvalues between 1 and 7 (1 = Sunday) or by using the strings SUN, MON, TUE, WED,THU, FRI and SAT.
The'/' character can be used to specify increments to values. For example, if youput '0/15' in the Minutes field, it means 'every 15th minute of the hour,starting at minute zero'. If you used '3/20' in the Minutes field, it wouldmean 'every 20th minute of the hour, starting at minute three' - or in otherwords it is the same as specifying '3,23,43' in the Minutes field. Note thesubtlety that "/35" does *notmean "every 35 minutes" – it mean"every 35th minute of the hour, starting at minute zero" - or inother words the same as specifying '0,35'.
The'?' character is allowed for the day-of-month and day-of-week fields. It isused to specify "no specific value". This is useful when you need tospecify something in one of the two fields, but not the other. See the examplesbelow (and CronTrigger JavaDoc) for clarification.
The'L' character is allowed for the day-of-month and day-of-week fields. Thischaracter is short-hand for "last", but it has different meaning ineach of the two fields. For example, the value "L" in theday-of-month field means "the last day of the month" - day 31 forJanuary, day 28 for February on non-leap years. If used in the day-of-weekfield by itself, it simply means "7" or "SAT". But if usedin the day-of-week field after another value, it means "the last xxx dayof the month" - for example "6L" or "FRIL" both mean"the last friday of the month". You can also specify an offset fromthe last day of the month, such as "L-3" which
wouldmean the third-to-last day of the calendar month. When using the 'L' option, it is importantnot to specify lists, or ranges of values, as you'll get confusing/unexpectedresults.
The'W' is used to specify the weekday (Monday-Friday) nearest the given day. As anexample, if you were to specify "15W" as the value for theday-of-month field, the meaning is: "the nearest weekday to the 15th ofthe month".
The'#' is used to specify "the nth" XXX weekday of the month. Forexample, the value of "6#3" or "FRI#3" in the day-of-weekfield means "the third Friday of the month".
Hereare a few more examples of expressions and their meanings - you can find evenmore in the JavaDoc for org.quartz.CronExpression
Example Cron Expressions
CronTriggerExample 1 - an expression to create a trigger that simply fires every 5 minutes
"0 0/5 * * * ?"
CronTriggerExample 2 - an expression to create a trigger that fires every 5 minutes, at 10seconds after the minute (i.e. 10:00:10 am, 10:05:10 am, etc.).
"10 0/5 * * * ?"
CronTriggerExample 3 - an expression to create a trigger that fires at 10:30, 11:30,12:30, and 13:30, on every Wednesday and Friday.
"0 30 10-13 ? * WED,FRI"
CronTriggerExample 4 - an expression to create a trigger that fires every half hourbetween the hours of 8 am and 10 am on the 5th and 20th of every month. Notethat the trigger will NOT fire at 10:00 am, just at 8:00, 8:30, 9:00 and 9:30
"0 0/30 8-9 5,20 * ?"
Notethat some scheduling requirements are too complicated to express with a singletrigger - such as "every 5minutes between 9:00 am and 10:00 am, and every20 minutes between 1:00 pm and 10:00 pm". The solution in this scenario isto simply create two triggers, and register both of them to run the same job.
【Cron Expressions】Quartz Scheduler 2.1.x 英文节选的更多相关文章
- Cron Expressions——Cron 表达式(QuartZ调度时间配置)
如果你需要像日历那样按日程来触发任务,而不是像SimpleTrigger 那样每隔特定的间隔时间触发,CronTriggers通常比SimpleTrigger更有用. 使用CronTrigger,你可 ...
- Quartz Scheduler(2.2.1) - Usage of CronTriggers
Cron is a UNIX tool that has been around for a long time, so its scheduling capabilities are powerfu ...
- spring集成quartz scheduler
创建项目 有两种创建quart配置作业 1.使用MethodInvokingJobDetailFactoryBean Quartz Scheduler 配置作业(MethodInvokingJobD ...
- Table of Contents - Quartz Scheduler
Getting Started Hello World Integration with Spring Quartz Scheduler Developer Guide Usage of JobDat ...
- Quartz Scheduler(2.2.1) - hello world
简单示例 1. maven 依赖 <dependencies> <dependency> <groupId>org.quartz-scheduler</gro ...
- Quartz Scheduler(2.2.1) - Working with JobStores
About Job Stores JobStores are responsible for keeping track of all the work data you give to the sc ...
- Quartz Scheduler 开发指南(1)
Quartz Scheduler 开发指南(1) 原文地址:http://www.quartz-scheduler.org/generated/2.2.2/html/qtz-all/ 实例化调度程序( ...
- 最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例
参考http://blog.csdn.net/defonds/article/details/49496895 本文将演示如何通过 Spring 使用 Quartz Scheduler 进行任务调度. ...
- 整合shiro出现【Correct the classpath of your application so that it contains a single, compatible version of org.quartz.Scheduler】
跑的时候出现错误: Description: An attempt was made to call the method org.quartz.Scheduler.getListenerManage ...
随机推荐
- Spring AOP报错
八月 01, 2016 10:08:48 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRe ...
- html(第一天,div+css)
一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的高度(Height:45px;). Background:设置对象的背景颜色.背景图像. 1.背景颜色 ...
- html基本框架
- Nginx小技巧(一)隐藏版本号
修改nginx.conf server_tokens作用域是http server location语句块 server_tokens默认值是on,表示显示版本信息,设置server_tokens值是 ...
- Qt中addStretch的有趣应用
今天在使用addStretch,布局的时候,发现addStretch竟然是可以平均分配的,有意思.比如: QVBoxLayout *buttonLayout = new QVBoxLayout; bu ...
- JavaScript螺纹的问题和答案
要求: JavaScript是单线程的,有任务队列.比方使用setTimeou(func,secs)来在secs毫秒后向任务队列加入func.可是,setTimeout后面跟一个死循环,那么死循环导致 ...
- 【Java线程】锁机制:synchronized、Lock、Condition
http://www.infoq.com/cn/articles/java-memory-model-5 深入理解Java内存模型(五)——锁 http://www.ibm.com/develope ...
- stm32之GPIO
stm32有5组GPIO口,GPIOA GPIOB GPIOC GPIOD GPIOE 每个GPIO端口有: 2个配置寄存器GPIOx_CRL, GPIOx_CRH(32位): 2个数据寄存器GPIO ...
- c++,内联成员函数
内联成员函数有两程方式实现内联成员函数1)在声名成员函数的同时定义成员函数体2)声明成员函数时,在最前面加上inline关键字在定义成员函数时也在最前面加上inline关键字 建议inline函数在头 ...
- JNI之HelloWorld
什么是JNI? JNI java本地开发接口 JNI 是一个协议 这个协议用来沟通java代码和外部的本地代码(c/c++). 通过这个协议,java代码就可以调用外部的c/c++代码 外部的c/c+ ...