quartz中的scheduler.pauseJob和scheduler.pauseTrigger问
1.当我先用pauseTrigger,再用resumeTrigger来恢复Trigger,它会将pause期间的任务一次次地运行起来。但我要的效果是错过的时间里任务就不要运行了,到下次指定的时间再运行任务。不知道如何实现呢?
使用pauseJob和上面同样的效果,pauseJob和pauseTrigger也还是和上同样的问题请问我该怎么办了??
2.还有就是我在job中execute方法写的是死循环,此时调用pauseJob也停止不下来,请问这个如何解释了呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以参考这个:http://www.oschina.net/code/snippet_53381_1379
非常感谢你!!
还有更简单的方法就是在你写的Job里配置一个pause属性,用JMX来管理你的Job,我开发的一个基于Spring+Quartz的可分布式任务调度器就是这样做的.
1. pauseTrigger()这个方法是不符合你的要求的,可以重新设置CronTrigger的Cron表达式,再调用Scheduler的rescheduleJob()方法来重新触发Job.可以参考:http://hi.baidu.com/vip099/blog/item/51bbb03d555f5702bba16766.html(Quartz 在Spring中动态设置cronExpression)
2. 你死循环了神仙也帮不了你啊,你要自己实现:InterruptableJob接口中的void interrupt()方法,当接收到Scheduler发出的中断信号后,自己来处理.