시나리오 : 두 개의 다른 모듈 (예 : A와 B)이 있습니다. A가 두 개의 서로 다른 머신 (예 : A1과 A2)에 배포되고 B가 두 개의 다른 머신 (예 : B1과 B2)에 배포되고 A 모듈과 관련된 작업이 예약되고 필요한 Java 클래스가 A A1과 A2 모두 가지고 있습니다).석영 클러스터링 문제
저는 봄철 프레임 워크 석영 빈을 사용하고 모듈이 바람둥이에서 시작하자마자 모든 기계에서 스케줄러를 시작합니다.
이 모든 정보는 쿼츠와 관련된 데이터베이스 테이블에 저장됩니다.
가장 좋은 부분 : 실행 중/실행 전, A1이 다운되면 운 좋게 스케줄러가 A2를 찾으면 A2에서 작업이 실행됩니다. 필요한 모든 클래스가 A2에 있으므로 아무런 문제가 없습니다. 성공!
잘못된 부분 : A1이 다운 된 경우, 스케줄러가 B1과 B2를 찾지 못한 경우 unluckily, 작업은 둘 중 하나에서 실행되지만 B1/B2에 필요한 클래스가 없기 때문에 i 예외가 발견되지 않는 클래스를 가져옵니다. 실패!
쿼리 : 모듈 A와 관련된 작업이 A가 배포 된 컴퓨터에서만 실행되고 B가 배포 된 컴퓨터에서는 실행되지 않도록하려면 어떻게해야합니까?
미리 감사드립니다.