2017-04-20 8 views
0

모든, Sychronous 요청 응답 JMS 통신, 타임 아웃

우리는 우리가 큐에 요청을 보내고 corelated 응답을 기다리는 장소에서 동기식 JMS 통신이 후 JMS 대기열에서 응답 메시지를 제거하는 방법 타임 아웃은 400 밀리 초입니다. 응답이 400 초 이내에 돌아 오지 않으면 스레드 시간 제한과 메시지가 대기열에 남아 있으며 절대로 읽을 수 없습니다.

대상 시스템이 메시지를 처리하는 데 많은 시간이 소요되고 400 밀리 초가 지나면 응답이 돌아오고 스레드 시간이 초과되고 응답 큐가 빨리 가득 차게됩니다.

응답이 늦게 도착한 응답 대기열에서 이러한 고아 응답 메시지를 제거하려면 어떻게해야합니까?

+0

"일반적으로"사용되는 시간입니다. –

답변

0

이론적으로 JMS 프로토콜에서 JMS 헤더 속성 인 JMSExpiration을 설정할 수 있습니다. 표준 java-jms를 사용하는 경우 JmsSender 클래스에는 사용할 수있는 "setTimeToLive"메소드가 있습니다.

https://jms-spec.java.net/2.0/apidocs/