我正在运行Java Web应用程序。 我使用单个数据库在负载均衡器后面的多个实例上运行该应用程序。
在某些情况下,用户请求一个servlet,然后该servlet计划一个事件在将来的某个时间。
当前,我使用ScheduledExecutorService
安排此事件,但是找不到使用ScheduledExecutorService
在所有实例之间安排事件的方法。也就是说,事件仅在一个实例上安排,并且如果该实例应停止,则系统中没有冗余以确保事件仍会发生。使用ScheduledExecutorService
安排任务时,有什么方法可以实现冗余/容错功能?
我更喜欢使用ScheduledExecutorService
,因为它不是外部库,并且我已经有使用它的经验。
如果这不可能,那么Quartz是我的最佳选择吗?可以做到我所描述的吗?
谢谢。