현재 저는 단일 Cassandra 데이터베이스 노드에 데이터를 저장하는 스프링 부트 마이크로 서비스를 구현 중입니다. 데이터베이스 연결이 끊어지면 재시도 횟수를 설정하고 마이크로 서비스 구성 파일에서 재시도 사이의 시간을 밀리 초 단위로 설정할 수 있어야합니다. "spring-boot version 1.5.6"과 spring-data-cassandra version 1.5.6 "을 사용하고 있습니다. CassandraCqlClusterFactoryBean
유형의 클러스터를 생성하고 사용자 정의 연결 정책을 cluster.setReconnectionPolicy()
에 전달하여 재시도 사이의 밀리 초 수를 설정할 수있었습니다 메서드를 사용할 수 있지만 사용자 지정 재시도 정책을 사용하여 재시도 횟수를 설정할 수는 없습니다. 올바르게 이해되면 재시도 정책은 쿼리가 수행 된 경우에만 처리되지만 제 경우에는 재시도 횟수를 모두 설정해야합니다 몇 일 동안 조사를 해본 결과 기본적으로 사용자 정의 ReconnectionSchedule
을 사용하는 추한 해킹을 만들 수 있었고 특정 조건이 충족되면 nextDelayMs()
방법으로 스프링 부트 응용 프로그램을 중지하지만 그럼에도 불구하고 디버그 모드에서 소스 코드를 계속 보았고 예외가 ControlConnection
에 의해 던져지는 것을 보았습니다. 그래서 데이터 저장소 담당자를 확인했습니다. IAL 문서 스프링 데이터 카산드라 어떻게 제한된 수의 연결 재 시도를 설정 하시겠습니까?
가 곧 발견 재시도 횟수.미리 감사드립니다.