彻底懂得spring的定制任务(scheduling)
彻底理解spring的定制任务(scheduling)?? 相信做软件的朋友都有这样的经历,我的软件是不是少了点什么东西
彻底理解spring的定制任务(scheduling)
?? 相信做软件的朋友都有这样的经历,我的软件是不是少了点什么东西呢?比如定时任务啊,
?? 就拿新闻发布系统来说,如果新闻的数据更新太快,势必涉及一个问题,这些新闻不能由人工的去发布,应该让系统自己发布,这就需要用到定时定制任务了,以前定制任务无非就是设计一个Thread,并且设置运行时间片,让它到了那个时间执行一次,就ok了,让系统启动的时候启动它,想来也够简单的。不过有了spring,我想这事情就更简单了。
看看spring的配置文件,想来就只有这个配置文件了
设置启动后多长时间自动执行,郁闷了
不知道是不是自己没有看懂设置启动后多长时间自动执行,郁闷了
不知道是不是自己没有看懂
看spring的quartz版定时器 <bean id="infoCenterAutoBuildTask" ref="baseService" /> <property name="htmlCreator" ref="htmlCreator" /> </bean> <bean id="scheduledTask" value="10000" /> <!-- run every 50 seconds --> <property name="period" value="1000000" /> <property name="timerTask" ref="infoCenterAutoBuildTask" /> </bean> <bean id="timerFactory" /> </list> </property> </bean>
还可以这样配置吧:
<bean id="infoCenterAutoBuildTaskFactory" ref="baseService" /> <property name="htmlCreator" ref="htmlCreator" /> </bean> <bean id="scheduledTask" value="10000" /> <!-- run every 50 seconds --> <property name="period" value="1000000" /> <property name="timerTask" ref="infoCenterAutoBuildTaskFactory" /> </bean> <bean id="timerFactory" /> </list> </property> </bean>
10 楼 heartsong 2007-08-03 cherami 写道我记得spring是使用Quartz作为任务调度的内部实现的
Spring支持Timer和Quartz
Quartz功能更为强大。 11 楼 boddi 2007-08-08 启动服务后,ScheduledTimerTask是不是第一次设置了delay和period后就无法修改了呢 12 楼 cljhyjs 2007-08-08 spring的定制任务,有时并不灵活,在几个项目中使用发现有以下问题
1、经常会运行一段时间后,不再调度运行了。怀疑是run()方法中的业务处理有异常引起的。
2、和使用一个thread来控制作循环来讲,后者更加灵活一些,特别是不需要做同步处理。 13 楼 peterwei 2007-08-08 spring的定时任务在具体项目时还是有不少不足的地方。我最近这星期在搞定时任务+任务配置的开发,像收费的账户定时冲账,服务自动停断,欠费催缴等.当需要随意配置任务,以及任意时间执行时,用spring那种配置方法就很不好用了,因为spring都是写死在配置文件中。而且像web服务器死了,任务来不及执行等各种情况,我想spring的定制任务是没法处理的。还有像集群这种情况,我想也是不好处理。所以我现在只能用quartz+db来实现,搞了一个星期了,快搞完了。搞完后,我把代码整理出来,我相信会有不少人遇到我这样的项目,大家互相交流一下吧。 14 楼 caocao 2007-08-09 呵呵,我用python来写调度脚本,代码行数比spring配置文件行数还小很多,很稳定、跨平台,想怎么跑就怎么跑 15 楼 tomzhu0526 2007-08-10 caocao 写道呵呵,我用python来写调度脚本,代码行数比spring配置文件行数还小很多,很稳定、跨平台,想怎么跑就怎么跑ssss 16 楼 tomzhu0526 2007-08-10 版主,把我的上个贴给删了吧,不好意思.误操作了.
在努力学习spring中,不是太懂呢.