是否可以在Quartz-Scheduler中定义有关作业的执行约束?
实际上,我有两个实现接口作业的类: JobA和JobB。
JobA将每分钟安排一次。JobB将每小时安排一次。
我不希望JobA和JobB同时运行。
注意: JobA和JobB不做相同的事情。
谢谢你的回答。
发布于 2012-05-19 16:07:58
没有人直接支持这一点。如果是同一个作业,则可以将其定义为有状态作业--这样的作业不能同时运行。
否则,可以将Quartz工作线程的数量限制为1,此外,还可以定义线程优先级以选择应该首先运行的作业。不幸的是,这个解决方案不会扩展到涉及更多工作的时候。
最后,您可以手动实现这一点,而不需要使用Quartz。我想您不希望同时访问某些操作或资源。考虑锁定该方法/资源,以便两个作业同时运行,但其中一个阻塞并等待另一个作业完成。
https://stackoverflow.com/questions/10655979
复制相似问题