java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > spring scheduled注解

详解在Spring3中使用注解(@Scheduled)创建计划任务

作者:zoucui

本篇文章主要介绍了详解在Spring3中使用注解(@Scheduled)创建计划任务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了:

  1. 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下;
  2. 在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 版本运行,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文