[英]Interrupting a Quartz Job in Clustered Mode
我已经查看了有关此主题的现有问题,但还没有看到(或理解)有关如何解决该问题的具体策略。
我有多个在集群模式下运行 Quartz 2.3.0 的 Spring Boot 2.2.2 应用程序实例。 这些实例位于 Application Load Balancer (ALB) 之后。 当应用实例(app1)收到某个请求时,需要取消一个Job。 但是,该作业可能正在应用程序 (app2) 的不同实例( Scheduler
?)上执行。
问:如何在APP 2约伯从APP1中断?
有问题的 Job 实现了InterruptableJob
,但我理解使用Scheduler.interrupt()
中断 Job 不是集群感知的。
我还阅读了启用 JMX 可以提供“一个新的入口点来单独远程管理每个调度程序”的地方。 帖子提到使用QuartzSchedulerMBeanImpl.interruptJob(jobName, jobGroup)
取消 Job,但查看代码,它似乎只在单个Scheduler
。 我没有看到指定要操作哪个Scheduler
的方法。
有没有办法通知 Quartz 这样做,或者这是我需要通过数据库表/记录跨应用程序实例进行通信的情况?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.