欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-03 23:02:28
spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了: 创建一个java类,添加一个无参无返回值的方法,在方法上用@...

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 版本运行,希望对大家的学习有所帮助,也希望大家多多支持。