2016-11-11 2 views
0

ActiveMQ 큐에서 메시지를 수신하기 위해 Spring의 DefaultMessageListenerContainer을 사용하고 있습니다. 이 응용 프로그램은이 큐에 대한 메시지의 유일한 생성자입니다. 응용 프로그램이 클러스터되어 있으므로 두 개의 인스턴스 (instance1, instance2)가 생성되어 instance1에서 메시지를 생성하고 대기열로 보낸 메시지가 instance1의 메시지 수신기에 수신되고 메시지가 생성되어 대기열에 instance2instance2에 메시지 수신자가 수신 했습니까? 처음에는 DefaultMessageListenerContainer이라는 messageSelector 속성을 설정했지만 각 응용 프로그램이 동일한 구성을 갖기를 바랍니다.JMS 메시지는 생성 된 노드에서만 수신됩니다.

답변

0

당신은 그렇게 할 수 없습니다. 각 인스턴스에 대해 별도의 큐가 필요하거나 메시지 선택기를 사용해야합니다.

+0

감사합니다. 이번 어젯밤에 물어 본 후에는 대기열에 접미어를 추가하는 것에 대해 생각해 보았습니다. 접미어는 자리 표시 자로 지정되고 JVM 옵션으로 전달됩니다. 이것은 지금 완벽하게 작동합니다. – rick

+0

부여 된 대기열은 매우 가볍지 만 노드 수가 많으면 관리하기가 쉽지 않습니다. Gary가 작성 중이며, 메시지 선택기가 좋다. 노드를 식별하기 위해 고유 한 JMS 등록 정보를 추가 한 다음 적절한 메시지 선택기를 작성하여 노드가 자체 메시지 만 수신하도록하십시오. –