tomcat에 배포 된 스프링 응용 프로그램에 의해 노출되는 javascript/websockets를 사용하여 토끼 mq 브로커에 연결하는 웹 페이지가 있습니다. 메시지는 외부 응용 프로그램에서 초당 1 개씩 생성되며 웹 페이지에 렌더링됩니다. 자바 스크립트 구독은 내구성이 있습니다.STOMP를 통한 RabbitMQ 내구성 큐 손실 메시지
내가 겪고있어 문제는 네트워크 연결이 일정 기간 동안 자바 스크립트 클라이언트에서 파손 된 경우 (60초 말), 메시지의 첫 번째 ~ 24초이없는 것입니다. 나는 바람둥이에 배포 된 응용 프로그램의 로그를 검토 한 결과 누락 된 메시지는 다음 로그 문까지 것 같다 :
org.springframework.messaging.simp.stomp.StompBrokerRelayMessageHandler - DEBUG - TCP connection to broker closed in session 14
내가이 엔드 포인트 연결이 끊어 자바 스크립트 클라이언트를 실현하는 지점이라고 생각 브로커에 대한 연결을 닫으려고 결정하여 향후 메시지가 대기열에 남아있게합니다.
제 질문은 네트워크가 단절된 시간과 끝점에서 클라이언트 연결이 끊어짐을 인식하는 시간 사이의 메시지가 손실되지 않도록하려면 어떻게해야합니까? 끝점에서 메시지를 다시 대기열에 넣어야합니까? 아마도 트랜잭션화할 수있는 방법이 있을까요?
미리 감사드립니다.