- 浏览: 71657 次
- 来自: 北京
文章分类
最新评论
-
zong.jianhui06:
讲的不错,比我的好啊a ...
<<大型网站系统与Java中间件实践>> 读书笔记(第2章) -
asle:
在分布式系统设计中,为了提供更好的非质量属性(高可用, ...
<<大型网站系统与Java中间件实践>> 读书笔记(第2章) -
zong.jianhui06:
可以啊,Gradle已经帮你生成eclipse工程了
Spring源码研究之环境搭建 -
riverphoenix:
[img][/img]
Spring源码研究之环境搭建 -
riverphoenix:
我想问一下你的eclipse 是安装的吧,我的是解压缩版本,像 ...
Spring源码研究之环境搭建
【转载地址】:http://hi.baidu.com/cuke_love/item/43ee2f394e4ae483c2cf293e
org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。 一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下: 1.秒(0–59) 2.分钟(0–59) 3.小时(0–23) 4.月份中的日期(1–31) 5.月份(1–12或JAN–DEC) 6.星期中的日期(1–7或SUN–SAT) 7.年份(1970–2099) 0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点 0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟 30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时 0 0 8-5 ? * MON-FRI 每个工作日的工作时间 各个时间可用值如下: 秒 0-59 , – * / 分 0-59 , – * / 小时 0-23 , – * / 日 1-31 , – * ? / L W C 月 1-12 or JAN-DEC , – * / 周几 1-7 or SUN-SAT , – * ? / L C # 年 (可选字段) empty, 1970-2099 , – * / 可用值详细分析如下: “*”——字符可以用于所有字段,在“分”字段中设为”*”表示”每一分钟”的含义。 “?”——字符可以用在“日”和“周几”字段. 它用来指定 ‘不明确的值’. 这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。 “-”——字符被用来指定一个值的范围,比如在“小时”字段中设为”10-12″表示”10点到12点”。 “,”——字符指定数个值。比如在“周几”字段中设为”MON,WED,FRI”表示”the days Monday, Wednesday, and Friday”。 “/”——字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为”0/15″表示”第0, 15, 30, 和 45秒”。而 “5/15″则表示”第5, 20, 35, 和 50″. 在’/'前加”*”字符相当于指定从0秒开始. 每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。”/”字段仅仅只是帮助你在允许的数值范围内从开始”第n”的值。 “L”——字符可用在“日”和“周几”这两个字段。它是”last”的缩写, 但是在这两个字段中有不同的含义。例如,“日”字段中的”L”表示”一个月中的最后一天” —— 对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中, 它简单的表示”7″ or “SAT”,但是如果在“周几”字段中使用时跟在某个数字之后, 它表示”该月最后一个星期×” —— 比如”6L”表示”该月最后一个周五”。当使用’L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。 “W”——可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。比如你将“日”字段设为”15W”,意为: “离该月15号最近的工作日”。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。然而如果你将“日”字段设为”1W”, 而一号又是周六, 触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边界。’W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。 “L”和“W”可以组合用于“日”字段表示为’LW’,意为”该月最后一个工作日”。 “#”—— 字符可用于“周几”字段。该字符表示“该月第几个周×”,比如”6#3″表示该月第三个周五( 6表示周五而”#3″该月第三个)。再比如: “2#1″ = 表示该月第一个周一而 “4#5″ = 该月第五个周三。注意如果你指定”#5″该月没有第五个“周×”,该月是不会触发的。 “C”—— 字符可用于“日”和“周几”字段,它是”calendar”的缩写。 它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为”5C”表示”日历中的第一天或者5号以后”,“周几”字段值为”1C”则表示”日历中的第一天或者周日以后”。 对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。 一些例子: “0 0 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分每分钟一次触发 “0 0/5 14 * * ?” 每天从下午2点开始到2:55分结束每5分钟一次触发 “0 0/5 14,18 * * ?” 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 “0 0-5 14 * * ?” 每天14:00至14:05每分钟一次触发 “0 10,44 14 ? 3 WED” 三月的每周三的14:10和14: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-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * ? / L C # 年(可选) 留空, 1970-2099 , - * / The '*' character is used to specify all values. For example, "*" in the minute field means "every minute". “*”字符被用来指定所有的值。如:”*“在分钟的字段域里表示“每分钟”。 The '?' character is allowed for the day-of-month and day-of-week fields. It is used to specify 'no specific value'. This is useful when you need to specify something in one of the two fileds, but not the other. See the examples below for clarification. “?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。看下面的例子你就会明白。 月份中的日期和星期中的日期这两个元素时互斥的一起应该通过设置一个问号(?)来表明不想设置那个字段 The '-' character is used to specify ranges For example "10-12" in the hour field means "the hours 10, 11 and 12". “-”字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。 The ',' character is used to specify additional values. For example "MON,WED,FRI" in the day-of-week field means "the days Monday, Wednesday, and Friday". “,”字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”. The '/' character is 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". Specifying '*' before the '/' is equivalent to specifying 0 is the value to start with. Essentially, for each field in the expression, there is a set of numbers that can be turned on or off. For seconds and minutes, the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to 31, and for months 1 to 12. The "/" character simply helps you turn on every "nth" value in the given set. Thus "7/6" in the month field only turns on month "7", it does NOT mean every 6th month, please note that subtlety. "/"字符用来指定渐增的值。例如0/15出现在秒字段的时候意味着“在第0,15,30和45秒”(的时候被触发)。而5/15出现在秒字段的时候意味着“在第5,20,35和第50秒”(的时候被触发)。"*/"和"0/"的指定是等价的。 注:当分子+分母的值大于该字段的最大值,如在秒钟字段出现45/20的时候,表示在第45秒以后的每20会触发一次,但是20秒以后又算做另外的时间段以内了,所以该字段的/20即失效,如改为45/10 则只有第45 和55秒会执行一次。 The 'L' character is allowed for the day-of-month and day-of-week fields. This character is short-hand for "last", but it has different meaning in each of the two fields. 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". When using the 'L' option, it is important not to specify lists, or ranges of values, as you'll get confusing results. L是‘last’的省略写法可以表示day-of-month和day-of-week域,但在两个字段中的意思不同,例如day-of-month域中表示一个月的最后一天, 如果在day-of-week域表示‘7’或者‘SAT’,如果在day-of-week域中前面加上数字,它表示一个月的最后几天,例如‘6L’就表示一个月的最后一个 星期五, The 'W' character is allowed for the day-of-month field. This character is 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 for the day-of-month expression to yield 'LW', which translates to "last weekday of the month". The '#' character is allowed for the day-of-week field. This character is 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 'C' character is allowed for the day-of-month and day-of-week fields. This character is short-hand for "calendar". This means values are calculated against the associated calendar, if any. If no calendar is associated, then it is equivalent to having an all-inclusive calendar. A value of "5C" in the day-of-month field means "the first day included by the calendar on or after the 5th". A value of "1C" in the day-of-week field means "the first day included by the calendar on or after sunday". 关于cronExpression的介绍: 字段允许值允许的特殊字符 秒0-59 , - * / 分0-59 , - * / 小时0-23 , - * / 日期1-31 , - * ? / L W C 月份1-12 或者JAN-DEC , - * / 星期1-7 或者SUN-SAT , - * ? / L C # 年(可选)留空, 1970-2099 , - * /
发表评论
-
【转】console使用说明(浏览器调试)
2013-08-11 22:35 909转载地址:http://prisonb ... -
【转】JVM监控工具介绍
2013-08-01 16:12 847转:http://www.blogjava.net/ston ... -
【转】Java 语言中 Enum 类型的使用介绍
2013-07-22 09:26 874Enum 类型的介绍枚举类型(Enumerated Type ... -
【转】架构设计之性能设计经验
2013-06-26 10:45 935转载地址:http://www.cnblogs.com/Ma ... -
【转】谈系统设计的一些原则
2013-06-26 10:43 1248在进行系统设计时,不仅要考虑软件的功能性需求,还要考虑非功能 ... -
使用Java开发需要关注的那些事儿
2013-06-17 10:26 834【转载地址】http://blog.csdn.net/fra ... -
【转载】Jvm内存映像分析
2013-05-27 17:41 774转载地址:http://zyn010101.iteye.co ... -
JDBC 设置查询超时()
2013-05-13 15:27 2360最近项目中写了个提数的的系统,该系统架构 ... -
【转】线程池深入分析(上)
2013-05-02 15:11 850转载地址:http://blog.csd ... -
【转】Java 理论与实践: 正确使用 Volatile 变量
2013-04-17 18:29 749转载地址:http://www.ibm.com/develo ... -
【转】HTTP协议详解
2013-04-17 16:46 740转载:http://blog.csdn.net/gueter ... -
【转】listener、 filter、servlet 加载顺序及其详解
2013-04-17 15:17 805转载:http://zhxing.iteye.com/bl ... -
java线程:Atomic原子的(转)
2013-04-09 16:18 695一、何谓Atomic? Atomic一词跟原子有点关系, ... -
【转载】Java 编程中关于异常处理的 10 个最佳实践
2013-03-31 21:02 756【转载地址】:http://www.oschina.net/t ... -
Netty基础之NIO
2013-03-20 18:02 843因为Netty是以NIO为基础,作为NIO的框架,所以 ... -
【转载】使用JMeter的Java请求功能测试Hetty性能
2013-01-16 10:02 1062转载地址:http://my.oschina.net/xish ... -
HTTP 状态代码解释
2013-01-14 13:34 865转载地址:http://ourapache ... -
【转载】JVM内存管理
2012-12-21 14:40 1435转载地址:http://www.ccplat.com/?p=5 ... -
【转载】Java 6 JVM参数选项大全(中文版)
2012-12-20 11:20 1006作者:Ken Wu Email: ken.wug@gmail. ... -
【转载】对比Java.nio 和 Java.io
2012-12-11 14:06 734原作者:Davide Pisano,编 ...
相关推荐
### Java开发之Spring定时任务时间格式CronExpression设置详解 #### 一、引言 在Java开发中,Spring框架提供了一种强大且灵活的方式来管理定时任务。其中,`CronExpression`是一种常用的表达式,用于定义任务执行...
在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,包括基于接口的TaskExecutor、基于注解的@Scheduled和集成Quartz Scheduler。下面将详细讲解这三种...
Spring框架提供了强大的定时任务支持,使得在Web项目中实现这类功能变得简单易行。本案例将详细介绍如何利用Spring技术来实现定时任务,并提供相关的代码示例。 一、Spring定时任务简介 Spring框架的定时任务功能...
在 Quartz 任务调度器中,我们需要更新任务触发器的时间设置,以便于任务可以根据新的时间规则来执行。 6. RESCHEDULE THE JOB 最后,我们需要重新安排任务的执行,以便于 Quartz 任务调度器可以根据新的时间规则...
在Java Spring框架中,动态配置定时任务是一项非常实用的功能,它允许我们根据需求灵活地更改或添加定时任务,而无需每次改动都重启应用。本文将深入探讨如何在Spring中实现这种动态配置,以及如何结合数据库来管理...
### Spring 普通定时任务与动态设置定时任务详解 #### 一、Spring 定时任务简介 在软件开发过程中,经常会遇到需要周期性执行的任务,例如数据备份、定时发送邮件等。对于这类需求,Spring 提供了一种简单且灵活的...
在Spring Boot应用中,我们可以利用其强大的自动化配置和Spring Task模块来实现基于数据库配置的定时任务。Spring Task是Spring框架的一部分,它提供了丰富的定时和调度功能,使得在Java应用中执行周期性任务变得...
在Spring配置文件中定义`<task:scheduled-tasks>`元素,并通过`<task:scheduled>`子元素设置定时任务,如下: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
本文将详细解释如何在Spring中动态设置Quartz的`cronExpression`,以实现灵活的定时任务配置。 首先,让我们了解什么是动态定时任务。动态定时任务是指任务的执行时间不是固定的,而是根据用户需求或者外部条件来...
在Spring框架中,定时任务是实现应用程序自动化执行特定任务的重要功能。这个"spring定时任务示例程序"旨在演示如何在Spring环境中配置和使用定时任务。本示例使用了Quartz库,它是一个强大的、完全开源的作业调度...
在Spring框架中,有三种主要的定时任务机制可供开发者选择,分别是基于Quartz的定时机制、Spring自己的`@Scheduled`注解以及Java的`java.util.Timer`类。在这篇文章中,我们将重点讨论基于Quartz的定时机制,因为它...
spring定时任务 xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=...
在Spring框架中,定时任务是通过Spring的Task执行器或者Quartz库来实现的,用于在指定的时间间隔或特定时间点执行重复性任务。这里我们将深入讲解如何在Spring中配置和使用定时任务。 首先,Spring提供了两种定时...
在Spring框架中,动态定时调度任务是一个非常实用的功能,它允许根据用户的选择或者系统的实时需求来灵活地调整任务的执行时间。Spring提供了多种方式来实现这一功能,其中Quartz是一个常用的第三方库,它是一个强大...
### Spring中Quartz任务调度器cronexpression配置说明 在现代软件开发中,特别是Java应用程序领域,定时任务的执行是常见的需求之一。Spring框架通过集成Quartz这一强大的任务调度库,为开发者提供了灵活、高效的...
以上步骤可以确保Spring应用程序中的定时任务按照预设的时间规则准确执行。 ### 总结 Spring通过集成Quartz提供了强大的定时任务调度能力。Cron表达式作为Quartz的核心配置之一,具有丰富的语法和灵活性,可以满足...
3、自定义(自定义功能,用户可以在前台随意定制执行计划,只要符合spring schedule cronExpression语法) 亮点: i:日期选择功能使用JEasyUI的datetime,并在选择框上加了限制,不能选择早于当前的日期 ii:时间...
在Spring框架中,Quartz是一个强大的任务调度库,它允许开发者定义定时任务并根据预设的时间规则执行。其中,`cronExpression`是Quartz中一个关键的配置项,用于定义任务执行的时间规则,通常用于创建复杂的定时计划...