优·Spring定时任务.pptVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spring 定时任务 定时批处理作业实现 定时批处理作业是J2EE企业应用里很重要的一环,用来在晚间进行财务挂账,数据转存,新闻联播等等操作。 有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz定时器 两种Spring定时器的实现方式各有优点,可结合具体项目考虑是否采用。 两种方式 在JavaEE系统中,我们会经常用到定时任务 比如每天凌晨生成前天报表,每一小时生成汇总数据等等。 方法一: 使用java.util.Timer结合 java.util.TimerTask来完成这项工作 但时调度控制非常不方便,并且我们需要大量的代码。 方法二: 使用Quartz框架无疑是非常好的选择,并且与 Spring可以非常方便的集成 在Spring里,已经很好的集成了Quartz,简单到像配cron一样,在xml文件里面配一下时间就可以自动执行,不需要写一行代码 Quartz Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。 Quartz官方: /quartz/ 简单触发器和复杂触发器 SimpleTrigger 为需要简单打火调度而设计 如果你需要在给定的时间和重复次数或者两次打火之间等待的秒数打火一个作业 cronTrigger 基于Calendar-like调度的 基于 Unix克隆表达式 如果你有许多复杂的作业调度 如:当你需要在除星期六和星期天外的每天上午10点半执行作业时 0 15 10 ? * MON-FRI 表示将在星期一到星期五的每天上午10点15分执行一个作业 0 15 10 ? * 6L 2002-2005 表示将在2002年到2005年每个月的最后一个星期五上午10点15分执行作业 cron 字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * / L C # 年(可选)留空, 1970-2099 ,- * / cronExpression value中的内容: property name=cronExpression value 50 59 23 ? * 1/value /property 第1位:50代表秒 第2位:59代表分钟 第3位:23代表23点,注意:采用24小时 第4位:?代表也没有具体到某日的星期天 第5位: *代表所有月的星期天 第6位: 1代表星期天国外星期天才是每周的开始! 特殊字符 , - * / “,”字符 被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示” 星期一、星期三、星期五”. “-”字符 被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。 “*”字符 被用来指定所有的值。如:”*“在分钟的字段域里表示“每分钟” “/”字符 秒字段中”5/15 ” 表示 从第5秒开始 每15秒执行一次 “0/5” 每5秒执行一次 特殊字符 “?”字符 只在日期域和星期域中使用。它被用来指定“非明确的值”。 问号表示这个字段不包含具体值。 比如:如果指定月内日期,可以在周内日期字段中插入“?”表示周内日期值 无关紧要 因为日期和周这两个元素是互斥的,因此应该通过设置一个问号(?) 来表明不想设置的那个字段 “L”字符 指定在月或者星期中的某天(最后一天)即“Last ”的缩写。 但是在星期和月中“L”表示不同的意思 如:* 在月子段中“L”指月份的最后一天:lL(1月31日)2L(2月28日) * 在星期字段中则简单的表示为“7”或者“SAT”星期六。 *如果在星期字段中 在某个value值得后面 则表示“某月的最后一个星期value” 如“6L”表示某月的最后

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档