2016-06-01 3 views
0

액티브 MQ 연결 팩토리를 가지고 연결을 가져오고 세션을 가져오고 큐에서 수신기를 만듭니다. 세션을 만들 때 여기 Client_Acknowledge를 수행했습니다. Queue에서 메시지를 받았을 때 나는 메시지를 받았지만 나는 답을 찾지 못했습니다. 여기에 주목하고 또한 연결을 닫지 않았습니다.활성 MQ 큐에서 메시지 수신

다시 동일한 연결에서 동일한 메시지를 받으려고했습니다. 그러나 이번에는 메시지를받지 못하고 null 값을 얻습니다.

내 질문에 동기식 통화 일 때 Active Mq에서 동일한 연결로 동일한 메시지를 두 번받을 수 있습니까?

+0

나는 이것이 가능하다고 생각하지 않습니다. 귀하의 코드와 브로커 구성을 보여주십시오. activemq 콘솔을 사용하거나 jmx를 사용하여 대기열에서 보류중인 메시지 수를 확인할 수도 있습니다. –

+0

이것이 가능하지 않은 이유를 알고 싶습니다. 큐에서 처음 메시지를받을 때 동일한 연결의 모든 속성을 업데이트합니다. – gaurav

답변

0

메시지를 수신 할 수없고 닫히지 않은 첫 번째 소비자가 메시지를 보관합니다. 다른 사용자가 메시지를 가져 오려면 소비자를 닫거나 트랜잭션을 사용하고 메시지를 원하지 않는다는 것을 나타내는 롤백을 수행해야합니다 (재 시도를 원하지 않으면 재 배달 횟수 정책을 구성해야합니다. 그래도 원래 소비자에게).

관련 문제