2011-02-08 7 views
5

HornetQの使用(JBoss AS 6.0で)複数のクライアントが購読できるJMSトピックをセットアップしたいと思います。JMSトピックのすべてのサブスクライバを見つける方法はありますか?

プロデューサは定期的にすべてのユーザが返信する返信先を持つメッセージをこのトピックに送信します。

問題は、すべての加入者が実際に返信したことを確認する方法が完全にわからないということです。

1つの解決策は、各加入者がサブスクリプション後にその詳細(おそらくいくつかのGUID)でメッセージをトピックに送信することです。プロデューサはこれらの詳細を覚えておいて、それを使用して、登録されたすべてのクライアントが応答したかどうかを後で確認します。

しかし、自分でホイールを発明するのではなく、すでに存在するものを使いたいと思います。これは標準的な問題のようですが、私は既存の解決策を見つけることができませんでした。

答えて

1

恒久サブスクリプションを使用し、サブスクリプションとメッセージを照会することができます。
http://hornetq.sourceforge.net/docs/hornetq-2.0.0.BETA5/user-manual/en/html/management.html#d0e5742

恒久サブスクリプションと永続メッセージを使用すると、パフォーマンスが低下することに注意してください。特定のニーズに応じてパフォーマンスの影響の重大性を判断する必要があります。

1

JMS自体はこれをサポートしていません。単純すぎます。コードをHornetQに連結しても構わないのであれば、ネイティブAPIを使用してこの情報を調べることができます。理想的ではありませんが、よく書かれており、読みやすいソースコードを持っているので、あまり難しくありません。

+0

はい、おそらくコアAPIを使用していると思います。 JBoss固有のAPIをいくつか使用していますが、それ以上の使用を最小限に抑えることを望んでいました。 –

関連する問題