トピックのツリーを作成する拡散ソリューションを構築しています。サブスクライバがないときにトピックを削除するにはどうすればよいですか?
私は、RabbitMQフィードから受け取った値を反映するために必要に応じてトピックを作成しています。各トピックにはメモリコストがありますので、しばらくの間はサブスクライバがいなくなったらトピックを削除したいと考えています。
統一されたJava APIを使用するとどうしたらいいですか?
トピックのツリーを作成する拡散ソリューションを構築しています。サブスクライバがないときにトピックを削除するにはどうすればよいですか?
私は、RabbitMQフィードから受け取った値を反映するために必要に応じてトピックを作成しています。各トピックにはメモリコストがありますので、しばらくの間はサブスクライバがいなくなったらトピックを削除したいと考えています。
統一されたJava APIを使用するとどうしたらいいですか?
TopicEventListener(TopicControl機能の一部)は、この機能を提供します。トピックに加入者が0人いる場合、およびトピックに少なくとも1人の加入者がある場合の個別コールバックを提供する。
例:
public TopicEventListenerClient() {
session = Diffusion.sessions().principal("admin").password("password").open("ws://localhost:8080");
topicControl = session.feature(TopicControl.class);
topicControl.addTopicEventListener("rabbitMQ/foo", new TopicEventListener() {
@Override
public void onClose(String arg0) {
LOG.info("Listener closed");
}
@Override
public void onError(String arg0, ErrorReason arg1) {
LOG.info("Error on listener: " + arg1);
}
@Override
public void onRegistered(String arg0, Registration arg1) {
LOG.info("Listener registered");
}
@Override
public void onHasSubscribers(String arg0) {
LOG.info("Topic: " + arg0 + " has at least 1 subscriber");
}
@Override
public void onNoSubscribers(String arg0) {
LOG.info("Topic: " + arg0 + " has no subscribers");
}
});
}
・ホープ、このことができます!
このような迅速な対応をいただきありがとうございます。 –
元のキューまたはツリーから削除しますか?また、すでに骨格コードを書こうとしている場合は、([編集]を使用して)それをあなたの質問に追加してください。 –