关键字: 企业应用
相信做软件的朋友都有这样的经历,我的软件是不是少了点什么东西呢?比如定时任务啊,
就拿新闻发布系统来说,如果新闻的数据更新太快,势必涉及一个问题,这些新闻不能由人工的去发布,应该让系统自己发布,这就需要用到定时定制任务了,以前定制任务无非就是设计一个Thread,并且设置运行时间片,让它到了那个时间执行一次,就ok了,让系统启动的时候启动它,想来也够简单的。不过有了 spring,我想这事情就更简单了。
看看spring的配置文件,想来就只有这个配置文件了
xml 代码
- < bean id = "infoCenterAutoBuildTask"
- class = "com.teesoo.teanet.scheduling.InfoCenterAutoBuildTask" >
- < property name = "baseService" ref = "baseService" />
- < property name = "htmlCreator" ref = "htmlCreator" />
- </ bean >
-
- < bean id = "scheduledTask"
- class = "org.springframework.scheduling.timer.ScheduledTimerTask" >
-
- < property name = "delay" value = "10000" />
-
- < property name = "period" value = "1000000" />
- < property name = "timerTask" ref = "infoCenterAutoBuildTask" />
- </ bean >
-
-
- < bean id = "timerFactory" class = "org.springframework.scheduling.timer.TimerFactoryBean" >
- < property name = "scheduledTimerTasks" >
- < list >
-
- < ref bean = "scheduledTask" />
- </ list >
- </ property >
- </ bean >
上面三个配置文件中只有一个配置文件是涉及到您自己的class的,其他的都是spring的类。很简单吧
我们只需要涉及一个class让他继承java.util.TimerTask;
java 代码
- BaseTask extends java.util.TimerTask {
-
- public void run(){
- }
- }
下面让我们来看看 spring的源代码
java 代码
说实话这个类也没什么,只是简单的包装了我们的timertask,里面也就只有几个属性,一个是时间片,一个是任务等。
真正运行我们的任务的类是:
java 代码
|