论坛首页 Java企业应用论坛

求教:Spring Quartz如何动态配置JOB运行时间?

浏览 4302 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2007-08-31  
大家好!

    首先,我来说明这个问题,我在Spring里配置了Quartz的JobDetail,Trigger和Scheduler,这个JobDetail的Trigger是让这个Job每隔1分钟运行一次。但这个项目要求,在这个Job执行过程中,有一个条件参数(从数据库中取得),我这里就简单记为Status,如果这个Status为true的话,那么这个Job就需要在执行完成之后立即执行,而不是再等1分钟才运行,如果这个Status为false的话,就还按原来在XML配置里的执行。

    我刚开始的时候,是想通过这个Job的Listener来实现这个功能,当Job在执行完成之后,把Stauts放到JobExecutionContext里,Listener监听到Job运行完成,然后从JobExecutionContext取得JobDetail,Trigger和Scheduler,重新对Trigger进行设置,然后执行Scheduler.scheduleJob(jobDetail, trigger),结果是可以实现目标的,但在XML里配置的trigger就没有作用了?

    另外,通过Scheduler.rescheduleJob的方法也不行。

    我不知道有没有其他的成功解决方案?请有知道的朋友,谢谢了。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics