대기열에 게시 할 요청이 많습니다.모든 가입자가 완료되면 어떻게 알 수 있습니까?
각자의 라운드 로빈 풀에 각각 여러 가지 다른 구독자 유형이 있습니다.
예를 들어 Request1 큐 이들의 하나만이 상기 요청을 얻을 수 있도록하고 LoggingSubscriber1 LoggingSubscriber2가 모두 "LoggingSubscriber"subscriptionId으로 가입으로 푸시된다.
는 DoProcessSubscriber1, DoProcessSubscriber2 및
DoProcessSubscriber3
그리고 다른 DoOtherProcessSubscriber1, DoOtherProcessSubscriber2우리는 세 가입자 (로깅, DoProcess 및 DoOtherProcess)을 완료했는지 알 수있는 방법이 필요합니다 같은 다른 그룹이 될 것입니다 모든 요청이 완료되었다는 메시지를 클라이언트에 보내는 것과 같은 몇 가지 작업을 수행 할 수 있습니다.
어떻게 이러한 응답을 수집합니까? 우리는 각 가입자가 큐에 응답 객체를 넣을 것을 생각하고 있었지만 여전히 완료되었는지를 알 수는 없습니다.
RequestObject에서 어떤 종류의 카운터를 사용하는 것이 좋습니다. 따라서 각 구독자는 작업이 완료되면 바로 증가시킬 것이므로이 카운터를 예상 값과 비교하여 (사용자 - 3)이를 결정할 수 있습니다. 이 카운터가 멀티 스레드 환경에서 공유 가능한 리소스가 될 것임을 잊지 마십시오. 동기화가 필요합니다. –
하드 코딩 된 값을 원하지 않습니다. 다른 가입자 유형을 추가하면 이상적으로 구성을 수정해야합니다. 값. 나는 모든 가입자가 정확한 답변을 할 때까지 항목이 대기열에 있다고 믿는다. 그 당시에 어떤 일이 일어날 수있는 방법이 없었습니까? – CaffGeek
귀하의 목록에있는 구독자 수를 알고 계시 겠지만 - 하드 코딩 된 값과 비교하지는 않지만이 길이가 –