`
小杨学JAVA
  • 浏览: 904222 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

cronExpression表达式解释:

 
阅读更多

 

附:cronExpression表达式解释:
0 0 12 * * ?---------------在每天中午12:00触发
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:00至2:59之间每分钟触发一次
0 0/5 14 * * ?---------------每天在下午2:00至2:59之间每5分钟触发一次
0 0/5 14,18 * * ?---------------每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次
0 0-5 14 * * ?---------------每天在下午2:00至2:05之间每分钟触发一次
0 10,44 14 ? 3 WED---------------每三月份的星期三在下午2:00和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, 2003, 2004 and 2005年的每个月的最后一个星期五的上午10:15触发
0 15 10 ? * 6#3---------------在每个月的第三个星期五的上午10:15触发
0 0 12 1/5 * ?---------------从每月的第一天起每过5天的中午12:00时触发
0 11 11 11 11 ?---------------在每个11月11日的上午11:11时触发.­
 
 
转载:
 
  
字段   允许值   允许的特殊字符
  0-59   , - * /
  0-59   , - * /
小时   0-23   , - * /
日期   1-31   , - *   / L W C
月份   1-12 或者 JAN-DEC   , - * /
星期   1-7 或者 SUN-SAT   , - *   / L C #
年(可选)   留空, 1970-2099   , - * /
  
如上面的表达式所示: 

“*”字符被用来指定所有的值。如:”*“在分钟的字段域里表示“每分钟”。 

“-”字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。
 
“,”字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”. 

“?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。看下面的例子你就会明白。 


“L”字符指定在月或者星期中的某天(最后一天)。即“Last ”的缩写。但是在星期和月中“L”表示不同的意思,如:在月子段中“L”指月份的最后一天-1月31日,2月28日,如果在星期字段中则简单的表示为“7”或者“SAT”。如果在星期字段中在某个value值得后面,则表示“某月的最后一个星期value”,如“6L”表示某月的最后一个星期五。

“W”字符只能用在月份字段中,该字段指定了离指定日期最近的那个星期日。

“#”字符只能用在星期字段,该字段指定了第几个星期value在某月中


表达式

 意义
"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触发
每天早上6点 

0 6 * * *  

每两个小时 

0 */2 * * * 
晚上11点到早上8点之间每两个小时,早上八点 

0 23-7/2,8 * * * 

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 

0 11 4 * 1-3 
1月1日早上4点 

0 4 1 1 *




定时批处理作业是J2EE企业应用里很重要的一环,用来在晚间进行财务挂账,数据转存,新闻联播等等操作。

    而在Spring里,已经很好的集成了Quartz,简单到像配cron一样,在xml文件里面配一下时间就可以自动执行,不需要写一行代码。Spring对Quartz大刀阔斧的简化堪称范例,Quartz项目组也许可以学习一下。

    <bean id="methodInvokingJobDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject"><ref bean="financeDAO"/></property>
        <property name="targetMethod"><value>confirmOrder</value></property>
    </bean>
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="methodInvokingJobDetail"/>
        </property>
        <property name="cronExpression">
            <value>0 0 6,12,20 * * ?</value>
        </property>
    </bean>
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list><ref local="cronTrigger"/></list>
        </property>
    </bean>

上面这段配置文件规定了在早上6点和晚上8点执行financeDAO对象的confirmOrder()方法.

分享到:
评论
1 楼 yj18925044132 2014-05-12  
  

相关推荐

    CronExpression一个cron表达式解析器

    在PHP开发中,为了实现类似的功能,开发者通常会利用像CronExpression这样的库来解析和处理cron表达式。本文将深入探讨CronExpression这个PHP库以及其在命令行环境中的应用。 CronExpression库是一个专门为PHP设计...

    Quartz cronExpression表达式

    Quartz cronExpression 表达式 Quartz cronExpression 表达式是一个由六至七个字段组成的字符串,其中 6 个字段是必须的,而一个是可选的。每个字段的允许值和特殊字符如下: 1. 秒 (0-59):允许的特殊字符有 * / ...

    CronExpression(克龙表达式)的验证代码JavaScript

    CronExpression(克龙表达式)是一种字符串格式,它允许我们定义复杂的调度规则。本文将探讨如何在JavaScript中验证一个Cron表达式的有效性,同时也会涉及一些辅助工具函数的使用。 Cron表达式由六个或七个字段组成...

    .net C# Cron表达式解析.

    - 使用静态方法`CronExpression.Parse("你的Cron表达式")`解析表达式,得到CronExpression对象。 - 通过`NextOccurrences(DateTime now)`或`GetNextOccurrence(DateTime now)`方法,获取下一个触发时间点。 在...

    Quartz动态修改时间,java实现修改CronExpression方法

    本项目主要探讨如何在运行时动态修改Quartz定时任务的CronExpression,即cron表达式,来改变任务的执行时间。 首先,CronExpression是Quartz中用于定义时间触发规则的关键组件,它基于Unix的crontab语法,可以精确...

    react+ts+antd cron表达式组件

    1. `CronExpression`组件:这是核心组件,它负责展示和编辑Cron表达式的各个字段。 2. `Field`子组件:每个Cron字段(如秒、分等)可能被封装成独立的子组件,便于复用和维护。 3. 验证逻辑:Cron表达式需要符合特定...

    Spring线程时间配置:Quartz和CronExpression

    以下是一些Cron表达式的示例及其解释: 1. **"0 0 12 \* \* ?"**: 每天中午12点执行一次。 2. **"0 15 10 ? \* \* \* "**: 每天上午10:15执行一次。 3. **"0 15 10 \* \* ?"**: 同上,每天上午10:15执行一次。 4. *...

    cronExpression介绍.doc

    CronExpression 是一个强大且灵活的表达式,它允许用户指定一个触发器的执行时间和频率。该表达式由六至七个字段组成,由空格分隔,其中六个字段是必须的,而一个字段是可选的。 字段介绍 1. 秒(0-59):指定秒数...

    定时任务cron 解析为中文.docx

    `CronExpParserUtil`的核心方法是`translateToChinese`,它接受一个cron表达式字符串作为输入,并返回该表达式的中文解释。在方法中,首先通过`Assert.hasText`和`CronExpression.isValidExpression`进行参数校验,...

    quartz cron表达式实例及源码

    1. `CronExpression.parse(String cronExpression)`:这是解析Cron表达式的入口方法,它会创建一个`CronField[]`数组,每个元素代表一个时间域的表达式。 2. `CronField`类:表示Cron表达式的一个时间域,包含解析...

    Quartz之CronExpression详解

    CronExpression是一种用于配置Quartz调度器中定时任务的表达式格式。通过这种格式化的字符串,用户能够灵活地定义任务执行的时间规律。CronExpression由六个或七个字段组成,各字段之间用空格分隔,具体包括秒、分、...

    Java 写的Cron表达式解析

    Java中的Cron表达式解析通常是通过Spring框架的`org.springframework.scheduling.support.CronSequenceGenerator`类或者第三方库如Quartz的`org.quartz.CronExpression`来实现。 首先,让我们理解Cron表达式的格式...

    Quartz Cron表达式

    #### 二、CronExpression详解 Cron表达式是用于配置`CronTrigger`实例的一种字符串形式。这种字符串由七个子表达式组成,它们分别代表: 1. **Seconds(秒)** 2. **Minutes(分)** 3. **Hours(时)** 4. **Day-...

    Quartz在Spring中动态设置cronExpression

    为了动态更新Cron表达式,通常需要实现一个机制,当Cron表达式改变时,能够更新`CronTriggerBean`的`cronExpression`属性,并重启触发器。这可能涉及到监听配置变化、数据库更新或其他外部事件,然后通过Spring的...

    quartz中cronExpression 配置资源

    `cronExpression` 由七个子表达式组成,分别代表秒、分、小时、日、月、周几和年份。每个子表达式都有一定的取值范围和特殊字符,用于指定任务执行的精确时间点。 1. **秒**:0-59,可以用 `- * /` 进行区间、任意...

    计划表达式的NET的例子

    你可以使用`Quartz.CronExpression`类来创建和解析CRON表达式。以下是一个简单的示例,展示了如何在C#中创建一个CRON表达式并获取下一次触发时间: ```csharp using Quartz; // 创建CRON表达式 var cronExpression...

    cron表达式校验,验证是否是正确的cron表达式,调用的主方法是function cronValidate(cronExpre

    cron表达式是Unix/Linux系统中用于设置定时任务的一种标准格式,它允许用户按照特定的时间间隔或特定时间点执行任务。在Java、JavaScript等编程语言中,我们也可以利用cron表达式来实现定时任务的功能。`...

    Quartz在Spring中动态设置cronExpression.docx

    ### Quartz在Spring中动态设置...通过上述内容,我们可以看到cronExpression在Quartz中的重要性以及如何在Spring环境中动态配置这些表达式来实现灵活的任务调度。这对于开发高效稳定的定时任务系统至关重要。

    十分钟教会你cron表达式

    十分钟教会你cron表达式,介绍怎么写cron表达式的语法

Global site tag (gtag.js) - Google Analytics