2016-12-19 2 views
0

私たちはたくさんのトピックを作成するアプリケーションを持っています。 特定のトピックに対して(クラスタ全体で)リッスンするクライアントがなくなると、そのトピックは破棄されます。しかし、クラスタ化された環境で、そのトピックを聞いているクライアントがもうないことを知るにはどうすればよいですか?クラスタ内の他のノードでそのトピックをリッスンしている他のクライアントが存在する場合、そのトピックを破棄したくありません。あなたはおそらくキーがトピックの名前で、値がリスナーある分散型マルチマップを使用してそれらの登録を解除/登録する必要がトピックをクリーンアップ

よろしく フレドリック

答えて

0

+0

特定のトピックに対してリスナーが残っている(クラスタ全体)かどうかを調べるには、 'com.hazelcast.spi.EventService.getRegistrations(String serviceName、String topic);'を使用できますか? –

+1

これはおそらく可能ですが、推奨されていない、サポートされていないEventServiceにアクセスする必要があります – noctarius

+0

私は、 (AbstractDistributedObject)トピック.getNodeEngine()。getEventService()。getRegistrations(TopicService.SERVICE_NAME、this.topic); ' –