我正在使用
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.getScheduler();
scheduler.start();
Trigger asapTrigger = getAsapTrigger();
JobDetail asapJob = getAsapJobDetails();
scheduler.scheduleJob(asapJob, asapTrigger);
这是有效的,但是当我使用群集环境时,2个线程正在为同一个作业运行。
我使用的是注释而不是属性文件。我想只运行一个线程。有人可以帮忙吗?如何配置?
答案 0 :(得分:36)
您必须将Quartz配置为在群集环境中运行。群集当前仅适用于JDBC作业存储,并且通过使群集的每个节点共享同一数据库来工作。
请注意,群集中的每个实例都应使用quartz.properties文件的相同副本。此外,如果您在不同的机器上使用群集,请确保它们的时钟同步。
有关详细信息,请查看包含群集计划程序的示例属性文件的official documentation。