すべてのメッセージのJMSキューロギング/ブラウジング(キューの非表示コンシューマー)(OpenJMS)
-
06-07-2019 - |
質問
JMSキューをブラウズ/ログする良い方法があるかどうか、考えがありますか? (私はOpenJMSを使用しています)
トピックについては、もう1人の消費者を追加するだけで十分です。ただし、キューについてはまだ解決策を完了していません。 「ポップ」せずに、特定のキューおよびトピックのすべてのメッセージを記録したいキューからそれらを取得します(ロガーがキューをブラウズして「非表示」になります)。
javax.jms.QueueBrowser を使用すると、キューのスナップショットを取得できますが、「リスナーソリューション」を提供していないようです。 -無限ループのキューにあるすべてのメッセージを何度も読み取り、スナップショットの前にメッセージが書き込まれたり消費されたりしないことを望みます-これは良い解決策のようには聞こえませんでした。
もう1つのオプションは、「論理キュー」ごとに2つのキューを作成することです。 -1つはロガー用で、もう1つは実際の使用用です。ロガーは「実際のキュー」にメッセージを転送します。 -それはおそらく動作する可能性がありますが、より良い解決策がありますか?
つまり、誰かがキュー内のすべてのメッセージを" invisible"ロガーまたはロギングのための他の素敵なソリューション、それはクールだろう。
解決
Apache ActiveMQ に切り替えると(はるかに優れた、より人気のあるオープンソースJMSプロバイダーJMS 1.1およびJ2EE 1.4も完全にサポートしています)多くの代替案を取得します。特にキューを監視および閲覧するには、 Webコンソールを使用するだけです。または JMX
他のヒント
また、解決策を探していましたが、Hermes(というOSSプロジェクトに出会いました。 http://www.hermesjms.com/confluence/display/HJMS/Home )。私はそれを保証することはできませんが、私はそれを試してみるつもりです。ホームページには、キューを参照/検索する機能が記載されています。