文档章节

SpringMVC 配置定时执行任务

大海201506
 大海201506
发布于 2017/04/05 13:57
字数 837
阅读 18
收藏 1

1. 在SpringMVC配置文件中添加配置描述

xmlns:task="http://www.springframework.org/schema/task" 
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.2.xsd 

2 配置任务扫描

<task:annotation-driven />

3 配置扫描任务位置

<!-- 自动扫描的包名 -->    
<context:component-scan base-package="cc.messcat.web.travel" />  

4 配置定时任务bean

<bean id="markLbsTraceScheduler" class="cc.messcat.web.travel.biz.MarkLbsTraceScheduler"></bean>  
  <task:scheduled-tasks>  
    <!--  这里表示的是每隔30秒执行一次  -->  
    <task:scheduled ref="markLbsTraceScheduler" method="markLbsTrace" cron="*/30 * * * * ?" />  
</task:scheduled-tasks>

5 扩展:定时时间的设置

如:“0/30 * * * * ?”
CronTrigger配置完整格式为: [秒] [分] [小时] [日] [月] [周] [年]

序号 说明 是否必填 允许填写的值 允许的通配符
1 0-59 , - * /
2 0-59 , - * /
3 小时 0-23 , - * /
4 1-31 , - * ? / L W
5 1-12或JAN-DEC , - * /
6 1-7或SUN-SAT , - * ? / L W
7 empty 或1970-2099 , - * /

通配符说明:

* 表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。


? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。

例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?


- 表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。


, 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发


/ 用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。 在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。


L 表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样的格式,则表示“本月最后一个星期五"


W 表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").


# 序号(表示每月的第几个周几),例如在周字段上设置"6#3"表示在每月的第三个周六.注意如果指定"#5",正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了) ;

小提示:
'L'和 'W'可以组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发;
周字段的设置,若使用英文字母是不区分大小写的,即MON 与mon相同;

参考:

http://www.cnblogs.com/liaojie970/p/5913272.html

 

© 著作权归作者所有

共有 人打赏支持
大海201506
粉丝 5
博文 96
码字总数 173986
作品 0
广州
程序员
私信 提问
spring quartz 执行简单的定时任务

spring 定时执行任务 实现定时任务方式有两种 1、 Spring 的org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean类,需要实现定时任务的方法只是一个普通方法。这个最...

NotFoundException
2013/03/20
0
0
Spring task配置,及解决加载两次的方法

关于 启动Task任务同时加载两次的解决方法: 将spring MVC部分的定义另外建立一个文件,同时把Task配置放在此处,然后在web.xml文件中的处加载 <servlet><servlet-name>SpringMVC</servlet-...

夏碌冬藏
2014/08/04
0
2
分布式定时任务框架---Uncode Schedule

分布式定时任务框架---Uncode Schedule rabbitGYK 关注 2016.11.27 20:36* 字数 1446 阅读 7141评论 5喜欢 36赞赏 1 博客原文 作为一个支付公司的项目组,经常会有很多对账功能(签约对账、支...

晨猫
11/02
0
0
Spring中的任务(异步,定时,发邮件)

一 Spring中的异步任务使用: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完...

刘信坚
06/21
0
0
spring+quartz 动态添加任务,不执行,不报错

使用spring + quartz 实现动态添加定时任务功能,基本配置如下面这篇博文一样 http://www.meiriyouke.net/?p=131, 看了下quartz的官方文档,也是一样的做法。不过就是不执行任务,也不报错。...

WCW
2015/06/25
853
2

没有更多内容

加载失败,请刷新页面

加载更多

三星Galaxy S10可能会配备TOF 3D摄像头

12月3日消息,据Phone Arena报道,三星Galaxy S10可能会配备TOF 3D摄像头。 Phone Arena报道称三星Galaxy S10一共有五颗摄像头(前置双摄+后置三摄),而5G版本的Galaxy S10后置四颗摄像头,...

问题终结者
31分钟前
9
0
fabric增删改查Mac

备份1.3版本,重新下载1.1版本到fabric文件夹 /opt/gopath/src/github.com/hyperledger/fabric -> /opt/gopath/src/github.com/hyperledger/fabric1.3 新建/opt/gopath/src/github.com/hype......

八戒八戒八戒
今天
9
0
盘点愚人节各大网站彩蛋,谁最爱恶搞?

如今的愚人节俨然已是各品牌宣传了一个重要节日,同时,也成为了各大互联网科技企业凑热闹,比拼创意和策划的节日。跟小编一起看看有哪些有趣的策划吧! Google地图变成吃豆人游戏 每年愚人节...

临江仙卜算子
今天
6
0
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树...

java菜分享
今天
6
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部