spring定时任务注脚实现

spring定时任务注解实现
有个功能需要定时任务,由于我们的项目应用的是spring3.0,基本都基于注解来完成注入功能,所以查了一下资料,大多都是
http://zywang.iteye.com/blog/949123

和这个一样的示例,但是我按这个照着个配置做确不能运行,后来找到原因,看配置吧!

注:如果spring配置文件中指定bean的加载方式为lazy(default-lazy-init="true"),设置了定时任务的类在初始化时没有被调用,所以不能执行定时任务,这时可以把定时任务类初始化为(lazy-init ="false")
【<bean id = "task" lazy-init ="false" class = "TaskTest"></bean>】


配置文件

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns:context="http://www.springframework.org/schema/context"   
    xmlns:task="http://www.springframework.org/schema/task" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
        http://www.springframework.org/schema/fex  
        http://www.springframework.org/schema/fex/spring-fex-1.5.xsd  
        http://www.springframework.org/schema/task   
        http://www.springframework.org/schema/task/spring-task-3.0.xsd   
        http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
    <!--加入此段配置,-->   
    <context:component-scan base-package="com.sun.task" />   
    <!-- Enables the Spring Task @Scheduled programming model -->   
    <task:executor id="executor" pool-size="1" />   
    <task:scheduler id="scheduler" pool-size="1" />   
    <task:annotation-driven executor="executor" scheduler="scheduler" />   
</beans>   



程序代码:

import java.sql.SQLException;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class TaskTest {

@Scheduled(fixedDelay = 1000)
void doSomethingWithDelay() throws SQLException{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("I'm doing with delay now!");
}
}

付了代码

原文:http://www.verydemo.com/demo_c143_i14402.html

你可能感兴趣的:(spring)