彻底理解spring的定制任务(scheduling)
[作者]:菩提树下的杨过 [来源]:互联网 [收录时间]:2007-8-3 20:24:43

相信做软件的朋友都有这样的经历,我的软件是不是少了点什么东西呢?比如定时任务啊,

就拿新闻发布系统来说,如果新闻的数据更新太快,势必涉及一个问题,这些新闻不能由人工的去发布,应该让系统自己发布,这就需要用到定时定制任务了,以前定制任务无非就是设计一个Thread,并且设置运行时间片,让它到了那个时间执行一次,就ok了,让系统启动的时候启动它,想来也够简单的。不过有了 spring,我想这事情就更简单了。

看看spring的配置文件,想来就只有这个配置文件了

xml 代码
  1. < bean id = "infoCenterAutoBuildTask"
  2. class = "com.teesoo.teanet.scheduling.InfoCenterAutoBuildTask" >
  3. < property name = "baseService" ref = "baseService" />
  4. < property name = "htmlCreator" ref = "htmlCreator" />
  5. < bean id = "scheduledTask"
  6. class = "org.springframework.scheduling.timer.ScheduledTimerTask" >
  7. < property name = "delay" value = "10000" />
  8. < property name = "period" value = "1000000" />
  9. < property name = "timerTask" ref = "infoCenterAutoBuildTask" />
  10. < bean id = "timerFactory" class = "org.springframework.scheduling.timer.TimerFactoryBean" >
  11. < property name = "scheduledTimerTasks" >
  12. < list >
  13. < ref bean = "scheduledTask" />

上面三个配置文件中只有一个配置文件是涉及到您自己的class的,其他的都是spring的类。很简单吧

我们只需要涉及一个class让他继承java.util.TimerTask;

java 代码
  1. BaseTask extends java.util.TimerTask {
  2. //用户只需要实现这个方面,把自己的任务放到这里
  3. public void run(){
  4. }
  5. }