【发布时间】:2017-10-17 13:46:43
【问题描述】:
我的应用程序当前在应用程序启动期间实例化并启动一个默认调度程序,使用:
@Override
public void contextInitialized(ServletContextEvent arg0) {
try {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
} catch (SchedulerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
此逻辑在云端机器以及本地开发机器上运行,并且quartz.properties 当前设置为非集群模式。该应用程序也在使用 JDBC Job Store。
我担心每台机器都有一个调度程序实例——请给我一些关于如何在多台机器上管理 Quartz 调度程序的建议。这个用例需要集群吗?
我安排了一个测试触发器每分钟运行一次。虽然没有重复的作业执行,但我注意到有一些错过的解雇从未算作失误。
【问题讨论】:
-
您能详细说明您的用例吗?从您所描述的情况来看,它不是很清楚。您的用例是否需要多个实例来通过形成集群来分担负载,或者您只是在寻找持久性支持?您的每个节点是否管理自己的工作负载?
-
@Srinivas 在尝试了不同的配置之后,我找到了适用于该应用程序的设置。我将在下面的答案中写更多关于它的信息。
标签: java quartz-scheduler quartz