0

アウト プロダクトでは、特定のプロパティ値を保持するキュー内のメッセージの数を時折カウントする必要があります。簡単な方法は、キュー ブラウザーとセレクターを使用することです。しかし:

  1. 関連するすべてのメッセージを参照せずにこの統計を取得する方法はありますか? データは必要ありません。カウントだけが必要です。
  2. キュー ブラウザ アプローチを使用する場合、一部のコンシューマによって消費されたが、まだ確認されていないメッセージもブラウズしますか?
4

1 に答える 1

0

セレクターに基づいてキュー内のメッセージをカウントする方法は保証されていません。これにはいくつかの理由があります。そのうちの 1 つは、JMS 仕様では、QueueBrowser が Queue のすべてのメッセージを返すことさえ要求していないためです。ActiveMQ は、メモリに収まる数を超えるメッセージを返さないため、キューが深い場合、正確なカウントは得られません。データベースになることは実際には ActiveMQ の仕事ではないため、どの管理ツールもこれを行いません。

メッセージングの冒険に備えるために読むべき、メッセージングのアンチパターンに関するいくつかの記事を次に示します。

第1条および第2条

于 2014-07-17T22:21:18.433 に答える