2017-11-10 9 views
-1

서버/제작자에서 클라이언트로 메시지를 보내는 방법에 대한 많은 코드와 예제를 보았습니다. 클라이언트에서 서버로 메시지를 보냅니다. 동일한 형식을 따르고 있습니까?Java ActiveMQ : 클라이언트에서 서버로 메시지를 보내는 방법

예를 들어 내 서버에 A, B, C, D, E라는 5 개의 항목이 있습니다. 내 클라이언트가 주제 C만을 듣고 있습니다. 그래서 내 서버가 대기열을 만들고 구독자/클라이언트에게 메시지를 보냅니다. 내 클라이언트는 주제 C에있는 메시지를 가져옵니다. 일부 계산을 수행하고 게시자에게 메시지를 보내려고합니다 (예 : int). 필요한 단계는 무엇입니까?

제작자가들을 수있는 대상/주제를 설정해야합니까? 제작자가 (일단 연결되면) 모든 클라이언트를 자동으로 청취합니까?

답변

0

다양한 통신 모델에 대해 약간의 읽기가 필요할 수도 있습니다. this on JMS Models.

주제를 사용하여 시작했지만 진술은 발신자와 수신자 간의 일대일 관계를 암시합니다. 이 대기열에 더 적합 할 수 있습니다. 주제는 일반적으로 게시자가 구독자에 대해 알지도 모르는 곳에서도 정보를 게시하기위한 것이며 많은 정보가있을 수 있습니다.

반면에 대기열은 특정 대상에 전달하기위한 것입니다. 이 기능을 사용하면 발신자가 메시지를 대기열로 보내고 예상 소비자가 메시지를 처리 ​​할 때까지 기다리지 않고 "불 또는 잊어 버릴"수 있습니다.

또는 응답 처리 기능을 추가 할 수 있습니다. 기본적으로 "병렬"응답 대기열을 추가하여 (초기 송신자가 대개 다른 스레드에서 소비자의 응답 메시지를 처리합니다).

ActiveMQ와 JMS는 "reply-to" functionality입니다. 여기서 보낸 사람은 응답을 수신하고자하는 큐 이름을 보내고 소비자가이를 준수 함을 나타냅니다. reply-to 큐는 고정되거나 임시 보낸 사람 일 수 있습니다.

모두 당신이 가고있는 모델에 따라 다릅니다.