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>
xml 需要根据情况酌情删减
参考: