好的,这是设置:
- 我在我的 Java 应用程序中使用 Quartz。
- Java 应用程序被复制以实现负载平衡。
- 这些副本访问 Oracle DB。
- 一个石英作业将同时在所有副本上触发,但由于竞争条件,我只希望它在一个上运行。...而且,你知道,它是重复的。
对此有许多黑客解决方案。甚至有一个适当的集群解决方案。但是,我要求一些具体的东西。我想知道是否可以通过石英作业查询数据库元/模式,并响应负载均衡器上的哪个服务器正在询问。可能通过驱动程序提供给数据库的某种形式的标识。我可以明确知道我的唯一 ID 的东西。这样,我可以杀死 ID 大于 1 或不是 serverName xyz 等的作业。