spring自带定时器@Scheduled注解配置

软件设计 2017-04-11

1.仅需引入spring相关的包。

2.在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

3.配置定时任务的线程池

<task:annotation-driven scheduler="myScheduler" mode="proxy" />  
<task:scheduler id="myScheduler" pool-size="10"/>

4.写定时任务

package com.cn.springmvc.controller;

import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * @author wyy
 * @date 2017年4月7日
 */
@Component
@Lazy(false)
@EnableScheduling  
public class TaskJob {  
    
    @Scheduled(cron = "0/5 * * * * *")  
    public void job1() {
        System.out.println("任务进行中。。。");  
    }
}

总结:

1.配置定时任务线程池可以同时执行同一时间的任务,否则是按照顺序执行。

2.如果xml里面开启的懒加载,default-lazy-init="true",需要有@Lazy(false)注解

相关推荐