跨多个实例调度任务

时间:2019-03-13 09:19:07

标签: java scheduled-tasks quartz-scheduler scheduledexecutorservice

我正在运行Java Web应用程序。 我使用单个数据库在负载均衡器后面的多个实例上运行该应用程序。

在某些情况下,用户请求一个servlet,然后该servlet计划一个事件在将来的某个时间。

当前,我使用ScheduledExecutorService安排此事件,但是找不到使用ScheduledExecutorService在所有实例之间安排事件的方法。也就是说,事件仅在一个实例上安排,并且如果该实例应停止,则系统中没有冗余以确保事件仍会发生。使用ScheduledExecutorService安排任务时,有什么方法可以实现冗余/容错功能?

我更喜欢使用ScheduledExecutorService,因为它不是外部库,并且我已经有使用它的经验。

如果这不可能,那么Quartz是我的最佳选择吗?可以做到我所描述的吗?

谢谢。

0 个答案:

没有答案