Quartz Jobs重叠

时间:2016-02-18 08:21:21

标签: java quartz-scheduler

我有几个石英(2.2)工作正在运行。假设一个人运行5秒钟,另一个运行每10分钟一次。

我不希望同时执行2个作业。我见过这个

DisallowConcurrentExecution

但这仅适用于来自同一实例的作业,但我通常不希望两个作业(任何实例)重叠。

修改 所有作业都使用一个数据库,因此这就是为什么它们不能同时运行的重要性。每项工作都有不同的事情要做。

1 个答案:

答案 0 :(得分:3)

最简单的方法是将底层线程池配置为使用一个线程,这将实现您的目标。将以下属性添加到quartz.properties配置文件中:

org.quartz.threadPool.threadCount

  

可用的线程数   并发执行作业。你可以指定任何正整数,   虽然只有1到100之间的数字是实用的。如果你只是   有一些工作,每天开几次,然后一个线程   充足的。如果你有成千上万的工作岗位,每个工作岗位都有很多工作   分钟,然后你想要一个更像50或100的线程数(这个高度   取决于你的工作表现的工作性质,以及你的工作   系统资源)。