浏览 4316 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-09
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-11
终于找到了解决方法了:
是这样的,客户有个需求是可以自己修改任务的间隔时间的!(这个值是设置到数据库中的),因为SimpleTriggerBean必须设置repeatInterval属性,所以设置其一个默认值 配置如下: <bean id="ScheduleAction" class="com.server.business.cms.ScheduleAction"> <property name="scheduler" ref="schedulerFactory"/> </bean> <bean id="ScheduleEngineFactory" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="SchedulerEngine"/> <property name="targetMethod"> <value>run</value> </property> <property name="concurrent" value="false"/> </bean> <bean id="ScheduleActionTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail"> <ref bean="ScheduleEngineFactory"></ref> </property> <property name="startDelay"> <value>80000</value> </property> <property name="repeatInterval"> <value>80000</value> </property> </bean> <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="ScheduleActionTrigger"/> </list> </property> </bean> 把schedulerFactory注入ScheduleInfoAction, 这样每次需要修改间隔时间时,就可以通过ScheduleInfoAction接口的scheduler设置间隔时间了, 但总感觉到有点笨拙,现在必须在程序启动时通过ScheduleInfoAction的scheduler设置数据库中的间隔时间,为什么repeatInterval不能通过继承SimpleTriggerBean复写getRepeatInterval方法去设置呢? |
|
返回顶楼 | |