28.6. メッセージカウンター


メッセージカウンターは、HornetQ がキューメトリックスの履歴を保持する場合にキューに関する一定の時間の情報を取得するために使用できます。
これらは、キューのトレンドを示すために使用できます。たとえば、管理 API を使用する場合は、キュー内のメッセージの数を一定の間隔で問い合わせることができます。また、JMX コンソールを使用してこの情報を参照したり、コア API (org.hornetq.api.core.management.MessageCounterInfo) を使用してこの情報を抽出したりできます。
ただし、キューが使用される場合は、これで十分ではありません。誰もキューに対してメッセージを送受信しないため、またはキューに送信されるメッセージの数がキューから消費されるメッセージの数と同じであるため、メッセージの数は、一定になることがあります。両方のケースでキュー内のメッセージの数は、同じになりますが、その使用は異なります。
メッセージカウンターは、キューに関する追加情報を提供します。
count
サーバーが起動された以降にキューに追加されたメッセージの合計数。
countDelta
最後のメッセージカウンターが更新された以降にキューに追加されたメッセージの数。
depth
キュー内にあるメッセージの現在の数。
depthDelta
最後のメッセージカウンターが更新された以降にキューに対して追加または削除されたメッセージの合計数。たとえば、depthDelta-10 に等しい場合、合計で 10 個のメッセージがキューから削除されたことを意味します。
lastAddTimestamp
メッセージが最後にキューに追加されたときのタイムスタンプ。
udpateTimestamp
最後のメッセージカウンター更新のタイムスタンプ。

28.6.1. メッセージカウンターの設定

メッセージカウンターは、メモリーに悪い影響を与えることがあるため、デフォルトで無効になります。
メッセージカウンターを無効にするには、JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml でメッセージカウンターを true に設定します。
<message-counter-enabled>true</message-counter-enabled>
Copy to Clipboard Toggle word wrap
メッセージカウンターは、キューメトリックスの履歴 (デフォルトで 10 日間) を保持し、すべてのキューを一定の間隔 (デフォルトで 10 秒間) でサンプリングします。メッセージカウンターが有効な場合、これらの値は JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml のメッセージング使用ケースを満たすように設定する必要があります。
<!-- keep history for a week -->
<message-counter-max-day-history>7</message-counter-max-day-history>        
<!-- sample the queues every minute (60000ms) -->
<message-counter-sample-period>60000</message-counter-sample-period>
Copy to Clipboard Toggle word wrap
メッセージカウンターは、管理 API を使用して取得できます。たとえば、JMX を使用して JMS キューに関するメッセージカウンターを取得します。
// retrieve a connection to HornetQ's MBeanServer
MBeanServerConnection mbsc = ...
JMSQueueControlMBean queueControl = (JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,
   on,
   JMSQueueControl.class,
   false);
// message counters are retrieved as a JSON String                                                                                                      
String counters = queueControl.listMessageCounter();
// use the MessageCounterInfo helper class to manipulate message counters more easily
MessageCounterInfo messageCounter = MessageCounterInfo.fromJSON(counters);         
System.out.format("%s message(s) in the queue (since last sample: %s)
",
   counter.getDepth(),
   counter.getDepthDelta());
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat