2015-01-04 2 views
1

내 요구 사항은 다음과 같습니다.다중 스레드 시나리오 용 IBM MQ의 corretionID를 기반으로 응답 받기

20 개 서버에서 공유되고 JMS 클라이언트가 실행되는 IBM MQ가 있습니다. 이제 특정 스레드를 대상으로하는 큐에 특정 메시지가 있습니다. 스레드는 상관 ID를 사용하여 MQ의 모든 메시지에서 메시지를 가져와야합니다.

내가 onMessage()를 사용할 때 어떤 스레드가 메시지를 듣는지 확실하지 않습니다. server-1이 메시지를 기다리고 있지만 server-15가 수신 대기한다고 가정하십시오. server-1의 스레드에 대한 메시지가 있더라도 Server-1은 결국 시간 초과됩니다.

주요 성능 문제를 도입하지 않고이 시나리오를 어떻게 처리 할 것인지 제안 해주십시오.

답변

3

수신기 컨테이너에서 MessageSelector를 사용하십시오. correlationId가 표준 JMSCorrelationID 헤더에 있으면 선택자는 이고 모든 foo 메시지를 수신합니다.