spring 定时任务配置错误

使用spring定时任务出现:Caused by: java.lang.IllegalArgumentException: Range exceeds maximum (60): 10000,原来是cron表达式第一个值不能大于60,60也不行,附录cron表达式介绍:
CronTrigger

CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。
CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。
即便如此,SimpleTrigger一样,CronTrigger拥有的startTime指定的时间表时生效,指定的时间表时,应停止(可选)结束时间。

Cron Expressions

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:00 执行,

个别子表达式可以包含范围, 例如,在前面的例子里(“WED”)可以替换成 “MON-FRI”, “MON, WED, FRI"甚至"MON-WED,SAT”.

“*” 代表整个时间段.

每一个字段都有一套可以指定有效值,如

Seconds (秒) :可以用数字0-59 表示,

Minutes(分) :可以用数字0-59 表示,

Hours(时) :可以用数字0-23表示,

Day-of-Month(天) :可以用数字1-31 中的任一一个值,但要注意一些特别的月份

Month(月) :可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示

Day-of-Week(每周):可以用数字1-7表示(1 = 星期日)或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”表示

“/”:为特别单位,表示为“每”如“0/15”表示每隔15分钟执行一次,“0”表示为从“0”分开始, “3/20”表示表示每隔20分钟执行一次,“3”表示从第3分钟开始执行

“?”:表示每月的某一天,或第周的某一天

“L”:用于每月,或每周,表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五”

“W”:表示为最近工作日,如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”

““#”:是用来指定“的”每月第n个工作日,例 在每周(day-of-week)这个字段中内容为"6#3” or “FRI#3” 则表示“每月第三个星期五”

1)Cron表达式的格式:秒 分 时 日 月 周 年(可选)。

           字段名                 允许的值                        允许的特殊字符
           秒                         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      , - * /

           “?”字符:表示不确定的值

           “,”字符:指定数个值

           “-”字符:指定一个值的范围

           “/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

           “L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

           “W”字符:指定离给定日期最近的工作日(周一到周五)

           “#”字符:表示该月第几个周X。6#3表示该月第3个周五

     2)Cron表达式范例:

             每隔5秒执行一次:*/5 * * * * ?

             每隔1分钟执行一次:0 */1 * * * ?

             每天23点执行一次:0 0 23 * * ?

             每天凌晨1点执行一次:0 0 1 * * ?

             每月1号凌晨1点执行一次:0 0 1 1 * ?

             每月最后一天23点执行一次:0 0 23 L * ?

             每周星期天凌晨1点实行一次:0 0 1 ? * L

             在26分、29分、33分执行一次:0 26,29,33 * * * ?

             每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

参考:http://www.cnblogs.com/sunjie9606/archive/2012/03/15/2397626.html

时间: 2024-08-27 18:18:37

spring 定时任务配置错误的相关文章

Spring.NET 配置错误【Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常。】

用VS 2013 ,配置Spring后,运行时出现如下错误: Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常. 原因:App.config配置文件,startup放到文件前了. 解决方法:将startup放到最后,问题没有了. <?xml version="1.0" encoding="utf-8"?><configuration> <configSections> <

Spring定时任务配置

1. 编写处理定时任务的类: @Repository public class QuartzScore { public void runScore(){ System.out.println("定时任务正在执行......"); System.out.println("当前时间: "+new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date())); } } 2. 配置.xml文件

解决Spring中使用context:component-scan命名空间配置错误

** nested exception is org.xml.sax.SAXParseException; lineNumber: 16; columnNumber: 74; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明. 原因:Spring命名空间配置错误,缺少相应的spring-bean.解决:<?xml version="1.0" encoding="UTF-8&qu

spring boot 整合 quartz 集群环境 实现 动态定时任务配置【原】

最近做了一个spring boot 整合 quartz  实现 动态定时任务配置,在集群环境下运行的 任务.能够对定时任务,动态的进行增删改查,界面效果图如下: 1. 在项目中引入jar 2. 将需要的表导入数据库 官网上有不同数据库的脚本,找到对应的,导入即可 3. java 代码 将quartz 的相关配置文件,配置为暴露bean,方便后期引用. 有一处关键的地方,就是注入spring 上下文,也可以算是一个坑.如果,不注入spring 上下文,那么新添加的定时任务job,是新new 的一个

spring定时任务的配置使用

spring的定时任务配置分为三个步骤: 1.定义任务 2.任务执行策略配置 3.启动任务 1.定义任务 <!--要定时执行的方法--> <bean id="testTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> &l

spring中quatz的多定时任务配置图文详解

近来公司让用quatz框架做定时功能,而且还是执行多定时任务,真是苦恼. 虽然从网上搜了很多资料,但是写法上不太尽如人意,最后还是请教了螃蟹大神,给的配置建议就是简单啊,现在拿来分享下: 这里我们需要的有两部分,一个是java中的处理类,一个是quatz的配置文件,截图如下applicationContext_quartz.xmlquatz的配置文件地址地址:http://www.itxxz.com/a/kuangjia/kuangjiashili/2014/0602/10.html java中

Spring定时任务的配置

spring的定时任务配置分为三个步骤: 1.定义任务 2.任务执行策略配置 3.启动任务 1.定义任务 <!--要定时执行的方法--> <bean id="testTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> &l

Detailed Error Information: Module IIS Web Core Notification 未知 Handler 尚未确定 Error Code 0x80070032 配置错误 无法读取配置节“spring”,因为它缺少节声明 配置文件 \\?\d:\用户目录\我的文档\visual studio 2015\Projects\LiS

Detailed Error Information: Module    IIS Web Core Notification    未知 Handler    尚未确定 Error Code    0x80070032 配置错误    无法读取配置节“spring”,因为它缺少节声明 配置文件    \\?\d:\用户目录\我的文档\visual studio 2015\Projects\LiShu\LiShu.WebApp\web.config 没有加载sping 的dll文件

spring定时任务包Quartz版本不兼容

使用spring定时任务包Quartz时,必须使用Quartz1.85以下版本的.     查看发现spring3.0.5中org.springframework.scheduling.quartz.CronTriggerBean继承了     org.quartz.CronTrigger(public class CronTriggerBeanextends CronTrigger),     而在quartz2.1.3中org.quartz.CronTrigger是个接口(publicabs