站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Spring 专题彻底理解spring的定制任务(scheduling)

彻底理解spring的定制任务(scheduling)

摘要: 彻底理解spring的定制任务(scheduling) 相信做软件的朋友都有这样的经历,我的软件是不是少了点什么东西呢?比如定时任务啊, 就拿新闻发布系统来说,如果新闻的数据更新太快,势必涉及一个问题...
彻底理解spring的定制任务(scheduling)

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

   就拿新闻发布系统来说,如果新闻的数据更新太快,势必涉及一个问题,这些新闻不能由人工的去发布,应该让系统自己发布,这就需要用到定时定制任务了,以前定制任务无非就是设计一个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 >   
  6.   
  7. < bean   id = "scheduledTask"   
  8.      class = "org.springframework.scheduling.timer.ScheduledTimerTask" >   
  9.      <!-- wait 10 seconds before starting repeated execution -->   
  10.      < property   name = "delay"   value = "10000"   />   
  11.      <!-- run every 50 seconds -->   
  12.      < property   name = "period"   value = "1000000"   />   
  13.      < property   name = "timerTask"   ref = "infoCenterAutoBuildTask"   />   
  14. </ bean >   
  15.   
  16.   
  17. < bean   id = "timerFactory"   class = "org.springframework.scheduling.timer.TimerFactoryBean" >   
  18.     < property   name = "scheduledTimerTasks" >   
  19.         < list >   
  20.             <!-- see the example above -->   
  21.             < ref   bean = "scheduledTask"   />   
  22.         </ list >   
  23.     </ property >   
  24. </ bean >   

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

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

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

 




↑返回目录
前一篇: 玩玩Spring之IOC
后一篇: 对非String类型进行校验时的出错处理