2016-12-19 3 views
0

우리는 많은 주제를 만드는 응용 프로그램을 가지고 있습니다. 특정 주제에 대해 (클러스터 전체) 수신 대기중인 클라이언트가 더 이상없는 경우 해당 주제를 삭제해야합니다. 그러나 클러스터 된 환경에서 해당 주제를 듣는 클라이언트가 더 이상 없다는 것을 찾는 방법은 무엇입니까? 클러스터의 다른 노드에서 해당 주제를 수신하는 다른 클라이언트가있는 경우 해당 주제를 파기하고 싶지 않습니다.주제 정리

감사 프레드릭

답변

0

당신은 아마/등록 키가 주제의 이름이고 값이 청취자 곳에 분산 Multimap과를 사용하여 등록을 취소해야합니다.

+0

특정 주제에 대해 리스너가 (클러스터 전체) 왼쪽에 있는지 알아 보려면'com.hazelcast.spi.EventService.getRegistrations (String serviceName, String topic); '을 사용할 수 있습니까? –

+1

아마도 가능할 수도 있지만 권장되거나 지원되지 않는 EventService에 액세스해야합니다. – noctarius

+0

제가 ref. ((AbstractDistributedObject) topic) .getNodeEngine(). getEventService(). getRegistrations (TopicService.SERVICE_NAME, this.topic); ' –