spring中的quartz不要并发执行 要设置哪呢
我现在用的Spring的2.5.6 Quartz的1.6
然后我现在的任务比如设置为5分钟
但是调用的方法执行时间超过了5分钟
理想上我是希望 比如该方法这次调用超过5分钟 那下次调用就会不调用 或延时调用。
我查阅了一些资料发现 国内这方面资料不多。
好不容易在数据库里 qrtz_job_details表里找到了 is_nonconcurrent(VARCHAR2(1)) 这个字段,我后来把他设成了1 不过貌似还是不行。
求大神给个答案。小弟在此谢谢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
可否改代码?
如果可以修改代码,可以使用类静态变量标识是否当前job正在运行
我这是接的别人的代码,不好改,他已经集成其他类了,还有其他什么办法设置吗 大哥
淡淡的呃呃呃
继承statefuljob
具体你百度一下statefuljob
不并发有两种方式:
1、使用spring xml配置,对jobDetail bean的concurrent属性设置为false;(隐约记得不写默认好像也是false)(推荐)
2、将job设置成有状态,即继承statefuljob接口。这个比较麻烦,不推荐使用。
3、或者将quartz properties配置中的连接池大小,改为1,这样肯定就不能并行(不推荐)
设置concurrent属性为false发绿色,参考http://nesuk.iteye.com/blog/1582557