读书人

在Spring3中运用注解(@Scheduled)创建

发布时间: 2012-06-28 15:20:03 作者: rapoo

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

?

在Spring3中使用注解(@Scheduled)创建计划任务博客分类:?
  • SpringSpring配置管理BeanXML

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

    1. 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下;
    2. 在Spring配置文件中添加三个<task:**** />节点;

    最后说明一下,第一步创建的Java类要成为Spring可管理的Bean,可以直接写在XML里,也可以@Component一下

    ?

    示例如下

    计划任务类:

    Java代码??在Spring3中运用注解(@Scheduled)创建计划任务
    1. /**?
    2. ?*?com.zywang.spring.task.SpringTaskDemo.java?
    3. ?*?@author?ZYWANG?2011-3-9?
    4. ?*/??
    5. package?com.zywang.spring.task;??
    6. ??
    7. import?org.springframework.scheduling.annotation.Scheduled;??
    8. import?org.springframework.stereotype.Component;??
    9. ??
    10. /**?
    11. ?*?Spring3?@Scheduled?演示?
    12. ?*?@author?ZYWANG?2011-3-9?
    13. ?*/??
    14. @Component??
    15. public?class?SpringTaskDemo?{??
    16. ??
    17. ????@Scheduled(fixedDelay?=?5000)??
    18. ????void?doSomethingWithDelay(){??
    19. ????????System.out.println("I'm?doing?with?delay?now!");??
    20. ????}??
    21. ??????
    22. ????@Scheduled(fixedRate?=?5000)??
    23. ????void?doSomethingWithRate(){??
    24. ????????System.out.println("I'm?doing?with?rate?now!");??
    25. ????}??
    26. ??????
    27. ????@Scheduled(cron?=?"0/5?*?*?*?*?*")??
    28. ????void?doSomethingWith(){??
    29. ????????System.out.println("I'm?doing?with?cron?now!");??
    30. ????}??
    31. }??

    Spring配置文件:

    Xml代码??在Spring3中运用注解(@Scheduled)创建计划任务
    1. <?xml?version="1.0"?encoding="UTF-8"?>??
    2. <beans?xmlns="http://www.springframework.org/schema/beans"??
    3. ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?xmlns:task="http://www.springframework.org/schema/task"??
    4. ????xsi:schemaLocation="http://www.springframework.org/schema/beans?http://www.springframework.org/schema/beans/spring-beans.xsd??
    5. ????????http://www.springframework.org/schema/task?http://www.springframework.org/schema/task/spring-task-3.0.xsd">??
    6. ????<!--?Enables?the?Spring?Task?@Scheduled?programming?model?-->??
    7. ????<task:executor?id="executor"?pool-size="5"?/>??
    8. ????<task:scheduler?id="scheduler"?pool-size="10"?/>??
    9. ????<task:annotation-driven?executor="executor"?scheduler="scheduler"?/>??
    10. </beans>??

    ?

    ?以上内容基于Spring 3.0.5 版本运行,参考文档为spring-framework-reference-3.0.5.pdf

  • 读书人网 >软件架构设计

    热点推荐