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-9Spring配置文件:
*/
@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>

需要注意的几点:

1、spring的@Scheduled注解  需要写在实现上、

2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)

3、实现类上要有组件的注解@Component

最新文章

  1. Ubuntu 16.10 安装KolourPaint 4画图工具
  2. MySQL数据库创建视图
  3. python 中的unicode详解
  4. linux性能测试命令-----top
  5. C# 两行代码实现 延迟加载的单例模式(线程安全)
  6. ECSHOP订单自动确认
  7. [POJ 2588] Snakes
  8. linux文件系统评估之inode
  9. Deploy a Sharded Cluster
  10. Django auth 登陆后页面跳转至/account/profile,修改跳转至其他页面
  11. GLFW3出error adding symbols: DSO missing from command line解决
  12. jquery pjax 用法总结
  13. css对齐方案总结
  14. Django websocket 长连接使用
  15. [转]国家税务总局:个税专项附加扣除APP正式启用!(附操作指南)
  16. AIX修改密码
  17. linux 安装mysql相关和openjdk
  18. java降低竞争锁的一些方法
  19. js自定制周期函数
  20. 百度词汇检索,计算PMI值

热门文章

  1. mac 下安装securecrt
  2. 隐性URL与显性URL区别与SEO考虑
  3. 读书笔记 effective c++ Item 35 考虑虚函数的替代者
  4. (转)开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
  5. python应用部署--flask
  6. 如何记录selenium自动化测试过程中接口的调用信息
  7. 模块化规范Common.js,AMD,CMD
  8. Linux之例行(任务调度)
  9. 深入hibernate的三种状态
  10. 关于SQL的一些小知识