文档章节

使用Spring框架写定时器(定时任务)

木云凌
 木云凌
发布于 2016/12/09 17:32
字数 571
阅读 23
收藏 0

首先spring.xml文件中必须有以下信息的最后三行

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:jee="http://www.springframework.org/schema/jee" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans   
		http://www.springframework.org/schema/beans/spring-beans.xsd   
		http://www.springframework.org/schema/context   
		http://www.springframework.org/schema/context/spring-context-3.2.xsd   
		http://code.alibabatech.com/schema/dubbo     
		http://code.alibabatech.com/schema/dubbo/dubbo.xsd  
		http://www.springframework.org/schema/aop   
		http://www.springframework.org/schema/aop/spring-aop-3.2.xsd   
		http://www.springframework.org/schema/jee   
		http://www.springframework.org/schema/jee/spring-jee-3.2.xsd 
		http://www.springframework.org/schema/tx   
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
		
		http://www.springframework.org/schema/task
     	http://www.springframework.org/schema/task/spring-task-3.0.xsd"
		
	xmlns:task="http://www.springframework.org/schema/task">

以及加上以下注解:

	<!-- 	任务扫描注解 -->
	<task:executor id="executor" pool-size="5" />  
	<task:scheduler id="scheduler" pool-size="10" />  
	<task:annotation-driven executor="executor" scheduler="scheduler" />

接着就写一个用@Component注解的普通java类即可

@Component
public class ContractTimer {

其中需要执行的方法则使用@Scheduled注解,那么这个方法就会在配置好的时间点上自动执行

	/**
	 * 定时检查创建时间是否已过48小时(两天),如果过期则自动设为作废(每天的每小时都执行一次) 
	 * fixedRate = 1000 * 60 * 60 * 24  每天执行一次
	 * fixedDelay=1000*60*2                       启动后2分钟执行
	 * cron = "0 0 3 * * *" 		     每天凌晨3点执行  秒分时天月星期(1-7)
	 * 三个只能写一个
	 * @throws IOException
	 */
//	@Scheduled(cron = "0 0 1,7,11,19 * * *")
	@Scheduled(cron = "0 20 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * *")
	public void updPushIndex(){

这个注解的配置使用说明如下:@Scheduled(cron = "0 0 1,7,11,19 * * *")里的cron参数是具体的时间点,小括号内是六个参数(也可以是七个),用空格号隔开,这六个参数分别对应:

秒(0~59)  

分钟(0~59)  

小时(0~23)

天(月)(0~31,但是需要考虑月的天数)  

月(0~11)

天(星期)(【1~7 1=SUN】 或【SUN,MON,TUE,WED,THU,FRI,SAT】)

第七个(可不配):年份(1970-2099)

【每个参数都可以配多个时间点,参考上述代码例子】

最后必须重复提醒,xml文件的配置是必不可少的,如果只会写代码而不知道去配置的话是没有半点用处的

其次,之前在网上转了个相关博客,感觉说得也比较详细的:https://my.oschina.net/watsonos/blog/796688

© 著作权归作者所有

共有 人打赏支持
木云凌

木云凌

粉丝 13
博文 73
码字总数 28431
作品 0
广州
高级程序员
SpringMVC框架使用注解执行定时任务

在项目开发过程中,免不了会有一些定时任务。今天就给大家一个SpringMVC框架中利用注解的方式执行定时任务的示例代码 使用到的JAR文件: 点击下列Jar文件会跳到我的网盘下载 aopalliance-1....

Carl_
2015/07/23
0
0
SPRING 定时器应用,使用定时器发送邮件

Spring 的强大又体现出来了,相较于 JDK 定时器来说 SPRING 定时器可以做的更多更好,使用起来也相对复杂,今天就为大家带来一个简易版的定时器,并且使用他实现定时邮件发送功能。 具体详细...

香吉士
2014/06/12
0
10
Spring quartz定时器动态多任务实现

项目中经常会碰到需要定时执行的任务,并且需要执行什么任务,以及任务执行的时间都由用户自定义的需求。quartz是比较常用的定时器工具,并且在spring框架中也已经做了很好的集成,所以在以s...

凯文加内特
2015/06/27
0
0
关于Spring定时任务(定时器)用法

Spring定时任务的几种实现 博客分类: spring框架 quartzspringspring-task定时任务注解 Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前...

脸大的都是胖纸
2015/03/20
0
1
快速开发模块化脚手架 - lenos

lenos是一款快速开发模块化脚手架,采用spring boot2.0、spring、SpringMvc、mybatis、shiro、activiti工作流+swagger+ehcache+quartz+freemarker+layui技术进行开发,持久层集成tkmapper丰富...

一枚码农
03/06
0
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jetbrains系产品IDEA:mac上面提示快捷键设置

原因 由于Mac上面的Ctrl+空格变成输入法切换的快捷键,在使用IDEA的过程中,代码提示很不方便,需要使用option+/这种传统eclipse上面的代码提示快捷键作为主要快捷键。 怎么修改? 移除【opt...

亚林瓜子
32分钟前
0
0
Exclipse 输出结果时换行

System.out.println(f1 + "\n" + d1 + "\n" + d2);

笑丶笑
33分钟前
1
0
怎样治疗标签不能触发onblur事件

I realize this was over a year ago, but it showed up for me in Google while trying to solve this same issue. It seems Chrome does not consider some elements, like body and ancho......

Weijuer
36分钟前
0
0
vue常见库安装

移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,才有了FastClick。 安装fastclick npm insta...

林夏夕
38分钟前
0
0
kafka 教程(三) kafka Java API 编程

下午写

MrPei
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部