spring 定时任务

来源:互联网 发布:python list太大拆分 编辑:程序博客网 时间:2024/06/10 21:13

在spring中配置如下:
一)在xml里加入task的命名空间
xmlns:task=”http://www.springframework.org/schema/task”
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd
(二)启用注解驱动的定时任务

<task:annotation-driven />

(三)配置定时任务的线程池

<task:scheduler id="ssd" pool-size="10" />

(四)写我们的定时任务
@Scheduled注解为定时任务,cron表达式里写执行的时机

package com.mvc.task.impl;  import java.text.DateFormat;  import java.text.SimpleDateFormat;  import java.util.concurrent.TimeUnit;  import org.joda.time.DateTime;  import org.springframework.scheduling.annotation.Scheduled;  import org.springframework.stereotype.Component;  import com.mvc.task.IATask;  @Component  public class ATask implements IATask{    @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次         public void task(){  //任务具体内容   }}

cron表达式详解:
按顺序依次为
1 秒(0~59)
2 分钟(0~59)//几分钟
3 小时(0~23)//几点钟
4 天(0~31)
5 月(0~11)
6 星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于”月份中的日期”和”星期中的日期”这两个元素互斥的,必须要对其中一个设置?.

0 0