java – 约束两个作业不能在Quartz-Scheduler中同时运行

前端之家收集整理的这篇文章主要介绍了java – 约束两个作业不能在Quartz-Scheduler中同时运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在Quartz-Scheduler中,是否可以定义关于作业的执行约束?

实际上,我有两个实现接口Job的类:JobA和JobB.

JobA将每分钟安排一次.
JobB将每小时安排一次.

我不希望JobA和JobB同时运行.

注意:JobA和JobB不会做同样的事情.

谢谢你的回答.

最佳答案
没有直接的支持.如果它是相同的工作,您可以将其定义为有状态 – 这样的作业不能同时运行定义.

否则,您可以将Quartz工作线程的数量限制为1,另外您可以定义线程优先级以选择首先运行哪个作业.不幸的是,当涉及更多工作时,此解决方案将无法扩展.

最后,您可以手动实现此操作,而无需涉及Quartz.我想你不希望同时访问某些操作或某些资源.考虑锁定该方法/资源,以便两个作业同时运行,但一个阻塞并等待另一个完成.

原文链接:https://www.f2er.com/java/438091.html

猜你在找的Java相关文章