- 浏览: 784703 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (386)
- Linux (36)
- Tomcat (6)
- windows (8)
- Apache (10)
- Java (25)
- jquery (7)
- Jquery 插件 (3)
- Oracle (5)
- Oracle SQL (68)
- Spring (15)
- 开发工具 (6)
- Struts (20)
- js (14)
- Project Code (2)
- Project Code Tomcat (1)
- libset (1)
- JSP (8)
- arithmetic (2)
- 浏览器 (1)
- extjs (3)
- 学习网站 (5)
- 生活情感 (0)
- 电话号码算法 (3)
- 快捷键 (1)
- 转载 (1)
- Dos命令 (2)
- services (1)
- Resources (1)
- 行业积累 (3)
- 项目积累 (3)
- Web (3)
- 文档 (1)
- JavaEE (2)
- JSF (3)
- http (3)
- JS窗口 (1)
- Html (4)
- Flex (1)
- 资讯 (2)
- 项目规范 (1)
- Struts s:property textarea中默认值用 (1)
- Quartz 2.0.2 (12)
- 1天有多少毫秒 (1)
- 专题 (1)
- intellij idea 10 CD-KEY (1)
- restlet (4)
- Mail (1)
- Excel (3)
- Menu (1)
- Big Data技术综述 (1)
- Quart 1 (1)
- nosql (1)
- linux远程 (1)
- jdk (5)
- wind7 (1)
- 虚拟人 (0)
- 虚拟机 (1)
- 终端 (1)
- Ubuntu (16)
- Myeclipse (2)
- Wmware (1)
- eclipse (2)
- css (2)
- csv (1)
- 开源 (1)
- plsql (2)
- cassandra (4)
- maven (1)
- hadoop (2)
- mysql (1)
- spring security (1)
- tools (1)
- jdbc (2)
- exception (2)
- 硬盘数据备份 (1)
- dwr (1)
- svn (1)
- PowerDesigner15使用时的十五个问题 (1)
- tomcat 项目发部路径 (1)
- js 暂停执行 (1)
- jquery jqgrid 格式化数据显示 (1)
- js 代码模板 (1)
- strutss2 直接跳转到jsp页面 (1)
- servlet (1)
- jdbc spring (1)
- js学习网站 (1)
- 自学考试 (2)
- hibernate (2)
- eos (1)
- c (4)
- 黑马 (2)
- 大数据 (2)
- 实战云大数据案例分享 (0)
- Spark (2)
- Flink (1)
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
jquery button 漂亮 -
thinktothings:
Array_06 写道你好,我是一名刚毕业学生,我以后就是做J ...
如何转型架构师 -
thinktothings:
软考,考有职业资格证,有系统的知识体系学习
如何转型架构师 -
Array_06:
你好,我是一名刚毕业学生,我以后就是做Java的架构师,那请问 ...
如何转型架构师 -
beykery:
你这也太复杂了。。。。jsf2不应该是这样的。。。。
JSF2.0的一个简单Demo
CronTrigger Tutorial
Introduction
cron is a UNIX tool that has been around for a long time, so its scheduling capabilities are powerful and proven. The CronTrigger class is based on the scheduling capabilities of cron.
CronTrigger uses "cron expressions", which are able to create firing schedules such as: "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month".
Cron expressions are powerful, but can be pretty confusing. This tutorial aims to take some of the mystery out of creating a cron expression, giving users a resource which they can visit before having to ask in a forum or mailing list.
Format
A cron expression is a string comprised of 6 or 7 fields separated by white space. Fields can contain any of the allowed values, along with various combinations of the allowed special characters for that field. The fields are as follows:
Seconds | YES | 0-59 | , - * / |
Minutes | YES | 0-59 | , - * / |
Hours | YES | 0-23 | , - * / |
Day of month | YES | 1-31 | , - * ? / L W |
Month | YES | 1-12 or JAN-DEC | , - * / |
Day of week | YES | 1-7 or SUN-SAT | , - * ? / L # |
Year | NO | empty, 1970-2099 | , - * / |
So cron expressions can be as simple as this: * * * * ? *
or more complex, like this: 0/5 14,18,3-39,52 * ? JAN,MAR,SEP MON-FRI 2002-2010
Special characters
-
* ("all values" ) - used to select all values within a field. For example, "" in the minute field means *"every minute" .
-
? ("no specific value" ) - useful when you need to specify something in one of the two fields in which the character is allowed, but not the other. For example, if I want my trigger to fire on a particular day of the month (say, the 10th), but don't care what day of the week that happens to be, I would put "10" in the day-of-month field, and "?" in the day-of-week field. See the examples below for clarification.
-
- - used to specify ranges. For example, "10-12" in the hour field means "the hours 10, 11 and 12" .
-
, - used to specify additional values. For example, "MON,WED,FRI" in the day-of-week field means "the days Monday, Wednesday, and Friday" .
-
/ - used to specify increments. For example, "0/15" in the seconds field means "the seconds 0, 15, 30, and 45" . And "5/15" in the seconds field means "the seconds 5, 20, 35, and 50" . You can also specify '/' after the '' character - in this case ' ' is equivalent to having '0' before the '/'. '1/3' in the day-of-month field means "fire every 3 days starting on the first day of the month" .
-
L ("last" ) - has different meaning in each of the two fields in which it is allowed. For example, the value "L" in the day-of-month field means "the last day of the month" - day 31 for January, day 28 for February on non-leap years. If used in the day-of-week field by itself, it simply means "7" or "SAT". But if used in the day-of-week field after another value, it means "the last xxx day of the month" - for example "6L" means "the last friday of the month" . You can also specify an offset from the last day of the month, such as "L-3" which would mean the third-to-last day of the calendar month. When using the 'L' option, it is important not to specify lists, or ranges of values, as you'll get confusing/unexpected results.
-
W ("weekday" ) - used to specify the weekday (Monday-Friday) nearest the given day. As an example, if you were to specify "15W" as the value for the day-of-month field, the meaning is: "the nearest weekday to the 15th of the month" . So if the 15th is a Saturday, the trigger will fire on Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. However if you specify "1W" as the value for day-of-month, and the 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not 'jump' over the boundary of a month's days. The 'W' character can only be specified when the day-of-month is a single day, not a range or list of days.
The 'L' and 'W' characters can also be combined in the day-of-month field to yield 'LW', which translates to *"last weekday of the month"*.
- # - used to specify "the nth" XXX day of the month. For example, the value of "6#3" in the day-of-week field means "the third Friday of the month" (day 6 = Friday and "#3" = the 3rd one in the month). Other examples: "2#1" = the first Monday of the month and "4#5" = the fifth Wednesday of the month. Note that if you specify "#5" and there is not 5 of the given day-of-week in the month, then no firing will occur that month.
The legal characters and the names of months and days of the week are not case sensitive. MON is the same as mon .
Examples
Here are some full examples:
**Expression** | **Meaning** |
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 L-2 * ? | Fire at 10:15am on the 2nd-to-last 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 |
0 0 12 1/5 * ? | Fire at 12pm (noon) every 5 days every month, starting on the first day of the month. |
0 11 11 11 11 ? | Fire every November 11th at 11:11am. |
Pay attention to the effects of '?' and '*' in the day-of-week and day-of-month fields!
Notes
- Support for specifying both a day-of-week and a day-of-month value is not complete (you must currently use the '?' character in one of these fields).
- Be careful when setting fire times between the hours of the morning when "daylight savings" changes occur
in your locale (for US locales, this would typically be the hour before and after 2:00 AM - because the time
shift can cause a skip or a repeat depending on whether the time moves back or jumps forward. You may find
this wikipedia entry helpful in determining the specifics to your locale:
https://secure.wikimedia.org/wikipedia/en/wiki/Daylight_saving_time_around_the_world
发表评论
-
1天有多少毫秒
2011-07-28 14:43 18821、 --1天有多少毫秒 1天=86400000 ... -
Lesson 7: TriggerListeners and c
2011-07-27 14:41 1677Quartz Enterprise Job Scheduler ... -
Lesson 6: CronTrigger
2011-07-27 14:28 1294Quartz Enterprise Job Scheduler ... -
Lesson 5: SimpleTrigger
2011-07-27 14:22 1237Quartz Enterprise Job Scheduler ... -
Lesson 4: More About Triggers
2011-07-27 14:14 1109Quartz Enterprise Job Scheduler ... -
Lesson 3: More About Jobs and Job Details
2011-07-27 11:58 1379Quartz Enterprise Job Scheduler ... -
Lesson 2: The Quartz API, and Introduction to Jobs And Triggers
2011-07-27 11:34 1312Quartz Enterprise Job Scheduler ... -
Lesson 1: Using Quartz
2011-07-27 11:22 1104Quartz Enterprise Job Scheduler ... -
Examples Overview
2011-07-27 10:24 1034Examples Overview Welcome to t ... -
CronTrigger Tutorial
2011-07-27 10:04 1106http://www.quartz-scheduler.o ... -
quartz-2.0.2-examples
2011-07-27 07:58 1500Cron Triggers Expression ...
相关推荐
Spring Quartz 动态配置时间 Spring Quartz 是一个功能强大的任务调度框架,广泛应用于 Java 企业级应用程序中。其中一个重要的功能便是动态配置时间,触发相应的任务。在本文中,我们将讨论如何使用 Spring Quartz...
触发器则有多种类型,如SimpleTrigger、CronTrigger等,它们决定了任务的执行频率和时间。 在应用启动时,Quartz会读取数据库中的所有作业和触发器,将其加载到内存中。之后,任何对数据库中这些记录的修改,都会被...
Quartz支持复杂的调度策略,如cron表达式,可以定义任务执行的时间间隔。在SpringBoot项目中整合Quartz,可以方便地管理这些定时任务。 在SpringBoot 2.x中集成Quartz,我们需要以下几个步骤: 1. 添加依赖:在...
在Spring框架中集成Quartz是一款常见的任务调度解决方案,它允许开发者在应用中安排定时任务的执行。Quartz是一个开源的作业调度框架,可以用来在Java应用程序中安排复杂的作业任务。以下将详细介绍如何在Spring中...
你需要创建一个实现了`org.quartz.Job`接口的类,这是Quartz执行任务的基础。在这个类中,你需要重写`execute(JobExecutionContext context)`方法,这个方法将在指定时间被调用执行实际的业务逻辑。 5. **启动和...
CronTrigger 是 Quartz 调度器中一种非常强大的任务触发机制,它基于类似于 Unix cron 的表达式来定义任务的执行时间。CronTrigger 表达式由七个或八个字段组成,每个字段代表不同的时间单位,从左至右依次为秒、分...
在许多场景下,我们可能需要在程序运行时动态地调整这些任务的执行时间,而无需重启服务或修改配置文件。这正是“quartz定时调度器动态修改时间不用配置文件”这一主题的核心内容。 首先,理解Quartz的基本概念是很...
Quartz集群配置的主要目标是确保在多台服务器环境下,任务的执行不会因为服务器故障或负载均衡而丢失,从而提供高可用性和容错性。以下是一些关键的配置点: 1. **数据库存储**:Quartz需要一个持久化的作业存储来...
而Quartz则是一个开源的作业调度框架,允许程序在指定的时间执行任务,实现定时任务的管理。结合SpringMVC,我们可以轻松地在Spring应用中配置和管理定时任务。 Quartz的核心概念包括Job(工作)、Trigger(触发器...
最后,启动Spring容器,Quartz会自动加载数据库中的Job和Trigger配置,按照设定的时间执行相应的任务。 通过这种方式,我们可以构建一个高度可扩展和可配置的定时任务系统,只需在数据库中修改Job和Trigger的配置,...
### quartz时间配置详解 #### 一、Cron表达式的构成与理解 Quartz是一个功能强大的开源作业调度框架,被广泛应用于各种应用场景中进行任务的定时调度。Cron表达式是Quartz中定义作业执行时间的一种方式,它由六个...
SSH+quartz实现的可动态配置时间规则的定时任务是一个在IT行业中常见的需求,尤其是在企业级应用和服务中,为了实现自动化运维、数据处理或者业务触发等目的。SSH指的是Spring、Struts和Hibernate这三个Java开发框架...
### quartz时间配置规则详解 #### 一、引言 Quartz 是一款开源的作业调度框架,它可以被应用在 Java 应用程序中实现对任务的定时执行。在 Quartz 中,触发器(Trigger)用于控制作业(Job)何时执行。本文档主要...
在Job执行过程中,如果发生异常,Quartz默认会重新尝试执行。你可以通过设置`jobListener`和`triggerListener`来监听并处理这些异常。 9. **集群支持** 对于高可用性需求,Quartz支持集群部署,多个节点共享同一...
4. 编写Trigger:Trigger是触发Job执行的规则,可以通过`CronTrigger`或`SimpleTrigger`来定义执行时间。 三、动态化管理 为了实现页面上的动态操作,我们需要创建一个RESTful API,提供增删改查及暂停恢复等功能。...
Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。在Java Web应用中,特别是在Tomcat这样的应用服务器中,Quartz能够帮助我们实现后台任务的自动化执行,比如定期数据备份、清理缓存等。这篇...
在运行时,我们可以通过Spring的ApplicationContext获取到Scheduler的引用,然后调用`scheduler.scheduleJob(JobDetail, Trigger)`方法来添加新的任务,或者调用`scheduler.rescheduleJob(TriggerKey, Trigger)`来...
- 对于多实例问题,可以配置Quartz为集群模式,确保只有一个实例执行任务。 - 检查并修正Spring的定时任务配置,确保只触发一次任务。 - 如果任务不是线程安全的,需要确保其在执行时互斥,例如使用`synchronized`...
在上述配置中,`jobExecutionService`是自定义的Job执行类,它需要实现`org.quartz.Job`接口或者使用Spring的`MethodInvokingJobDetailFactoryBean`来调用特定方法。`CronTriggerFactoryBean`用于设置触发器的执行...
Quartz 的优点在于,它可以实现任务的定时执行,且可以灵活地配置任务的执行时间。同时,Quartz 也提供了强大的调度功能,可以满足复杂的任务调度需求。 总结 在本篇文章中,我们讨论了如何在 Spring 中配置 ...