我有一个批处理程序(程序来插入/更新/查询数据库)计划,使用Java Timer每天触发一次。 此批处理程序在apache tomcat中的两个不同服务器中运行。
现在我的问题是Java Timer API在两台服务器中并行触发作业,因此我的程序执行两次,因此我获得了相同的记录处理两次,使用不同的主键。
我需要确保我的程序只触发一次,触发应该动态发生而不管服务器。 一旦启动一个Batch,其他人就不应该开始或其他不应该被处理。
下面, Tomcat托管在两台服务器中,每台服务器都部署了相同的应用程序 我有一个由两个服务器共享的数据库。
使用Java和spring。
在上述问题的解决方案中需要建议/帮助。