2017-11-10 3 views
0

각각 자체 연결을 사용하여 두 명의 소비자가있는 테스트를 만들었습니다. 나는 그들 중 단 한 명만 메시지를 받도록해야한다.ActiveMQ에서 동일한 clientId를 가진 서비스 인스턴스를 여러 개 가질 수 있습니까?

이러한 소비자는 동일한 clientId 및 name을 사용합니다.

나는 다음과 같은 예외가 얻을 두 번째 소비자에 대한 클라이언트 ID를 설정할 때마다 :

Apache.NMS.InvalidClientIDException : 브로커 : 로컬 호스트 - 클라이언트 : 이미 TwoDurableConsumers_SameConsumerNameAndCientId_OnlyOneReceivesMessageb9182d05-b1b4-46b0-afb0-074b52ad7071을 c : \ dev \ NMS.ActiveMQ \ src \ main \에있는 Apache.NMS.ActiveMQ.Connection.CheckConnected()에서 tcp : // 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1 : 58629 csharp \ Connection.cs : 줄 1041

TwoDurableConsumers_SameConsumerNameAndCientId_OnlyOneReceivesMessageb9182d05-b1b4-46b0-afb0-074b52ad7071은 모두 clientIddurable subscriber name입니다.

답변

1

동일한 클라이언트 ID를 가진 두 개의 클라이언트가 오류를 표시 할 수 없습니다. 클라이언트 ID는 수행하려는 작업을 정확하게 방지하기 위해 작동하는 고유 식별자이므로 응답은 그렇게하지 않습니다.

+0

하지만 ActiveMQ 관점에서 단일 소비자와 동일한 주제에 여러 인스턴스를 구독하는 방법은 무엇입니까? 인스턴스 중 하나만 메시지를 받아야한다는 의미에서? –

+0

대기열을 찾고있는 것처럼 들리네 –

+0

[가상 토픽!] (http://activemq.apache.org/virtual-destinations.html) –

관련 문제