자바 타이머를 사용하여 하루에 한 번 트리거하는 일괄 프로그램 (데이터베이스 삽입/업데이트/쿼리 프로그램) 일정이 있습니다. 이 배치 프로그램은 Apache Tomcat의 두 가지 다른 서버에서 실행됩니다.다른 서버의 다른 JVM에서 실행중인 일괄 처리 프로그램의 실행 제어
내 문제는 Java Timer API가 두 서버에서 병렬로 작업을 실행하므로 내 프로그램이 두 번 실행되기 때문에 동일한 기본 레코드가 다른 기본 키로 두 번 처리된다는 것입니다.
내 프로그램이 한 번만 트리거되고, 트리거링은 서버와 관계없이 동적으로 수행되어야합니다. 일단 배치가 시작되면 다른 배치가 시작되지 않거나 다른 배치가 처리되지 않아야합니다.
여기에서 Tomcat은 두 개의 서버에 모두 호스팅되어 있으며 동일한 응용 프로그램이 배포되어 있습니다. 두 서버에서 공유하는 하나의 데이터베이스가 있습니다.
Java 및 스프링이 사용됩니다.
위의 문제에 대한 해결책으로 제안/도움이 필요합니다.
감사합니다.하지만 Java Timer 자체에서 동일한 결과를 얻길 바랍니다. –