Java 限制两个作业在Quartz调度程序中不同时运行

Java 限制两个作业在Quartz调度程序中不同时运行,java,quartz-scheduler,Java,Quartz Scheduler,在Quartz Scheduler中,是否可以定义作业的执行约束? 实际上,我有两个实现接口作业的类:JobA和JobB JobA将每分钟安排一次。 JobB将每小时安排一次 我不希望JobA和JobB同时运行 注意:JobA和JobB做的事情不一样 感谢您的回答。对此没有直接的支持。如果它是同一个作业,您可以将其定义为有状态的-这样的作业不能在定义中并发运行 否则,您可以将Quartz工作线程的数量限制为1,此外,您还可以定义线程优先级以选择应首先运行哪个作业。不幸的是,当涉及到更多的工作时,

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

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

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

我不希望JobA和JobB同时运行

注意:JobA和JobB做的事情不一样


感谢您的回答。

对此没有直接的支持。如果它是同一个作业,您可以将其定义为有状态的-这样的作业不能在定义中并发运行

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

最后,您可以在不涉及Quartz的情况下手动实现此功能。我猜您不希望同时访问某些操作或资源。考虑锁定方法/资源,使两个作业同时运行,但一个块等待另一个完成。