文档章节

使用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
博文 80
码字总数 30480
作品 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
Spring Cloud 2.x系列之springboot集成quartz

java设计模式之观察者模式 一大波视频分享 Mysql代理中间件Atlas安装和配置 在做项目时有时候会有定时器任务的功能,比如某某时间应该做什么,多少秒应该怎么样之类的。定时任务常用的业务场...

技术小能手
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Laravel UNION联合查询并分页

$xk = DB::table('xiaokes')->select(['id','xk_name as name','xk_teacher_id as tid','ke_type','created_at']) ->where('xk_teacher_id',$id); $query = DB::......

一只懒猫-
30分钟前
1
0
187 修改centos的密码

先登录

Lucky_Me
37分钟前
3
0
通过Timer类实现App 启动页停留三秒效果

Timer timer = new Timer(); //参数1:每次执行的任务代码 参数2:延时多少毫秒执行 参数3:任务间隔 单位:毫秒 timer.schedule(new TimerTask() { @Over...

lanyu96
43分钟前
0
0
pip更改下载源设置

任何一个信息都可以把人分为两类,知道的和不知道的。有些我们已知的信息,自己觉得很平常,却可能对另一些不知道的人来说很有用处。 比如今天要说的这个小技巧,我自己原以为不值一提,网上...

crossin
44分钟前
1
0
css预加载

css /* 预加载图片,挂在body上 */.preload-img:after{ content:""; background: url(../images/new/full_bg2.jpg) no-repeat -10000px -1000px;} js $(function(){ /......

红羊在厦门
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部