Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了:
- 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下;
- 在Spring配置文件中添加三个<task:**** />节点;
最后说明一下,第一步创建的Java类要成为Spring可管理的Bean,可以直接写在XML里,也可以@Component一下
?
示例如下
计划任务类:
- /**?
- ?*?com.zywang.spring.task.SpringTaskDemo.java?
- ?*?@author?ZYWANG?2011-3-9?
- ?*/??
- package?com.zywang.spring.task;??
- ??
- import?org.springframework.scheduling.annotation.Scheduled;??
- import?org.springframework.stereotype.Component;??
- ??
- /**?
- ?*?Spring3?@Scheduled?演示?
- ?*?@author?ZYWANG?2011-3-9?
- ?*/??
- @Component??
- public?class?SpringTaskDemo?{??
- ??
- ????@Scheduled(fixedDelay?=?5000)??
- ????void?doSomethingWithDelay(){??
- ????????System.out.println("I'm?doing?with?delay?now!");??
- ????}??
- ??????
- ????@Scheduled(fixedRate?=?5000)??
- ????void?doSomethingWithRate(){??
- ????????System.out.println("I'm?doing?with?rate?now!");??
- ????}??
- ??????
- ????@Scheduled(cron?=?"0/5?*?*?*?*?*")??
- ????void?doSomethingWith(){??
- ????????System.out.println("I'm?doing?with?cron?now!");??
- ????}??
- }??
Spring配置文件:
- <?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:task="http://www.springframework.org/schema/task"??
- ????xsi:schemaLocation="http://www.springframework.org/schema/beans?http://www.springframework.org/schema/beans/spring-beans.xsd??
- ????????http://www.springframework.org/schema/task?http://www.springframework.org/schema/task/spring-task-3.0.xsd">??
- ????<!--?Enables?the?Spring?Task?@Scheduled?programming?model?-->??
- ????<task:executor?id="executor"?pool-size="5"?/>??
- ????<task:scheduler?id="scheduler"?pool-size="10"?/>??
- ????<task:annotation-driven?executor="executor"?scheduler="scheduler"?/>??
- </beans>??
?
?以上内容基于Spring 3.0.5 版本运行,参考文档为spring-framework-reference-3.0.5.pdf