第3章 新機能と変更点
このセクションでは、AMQ Broker 7.11 の一連の拡張機能と新機能について説明します。
- CR のイメージおよびバージョン属性の検証に関する変更
7.11.5 では、Operator は、以前のバージョンとは異なる方法で CR のイメージおよびバージョン属性の設定を検証します。
7.11.5 より前のバージョンでは、Operator は CR に以下が含まれていないことを検証します。
-
spec.deploymentPlan.initImage
属性のないspec.deploymentPlan.image
属性、またはその逆も同様です。 -
spec.deploymentPlan.image
属性とspec.deploymentPlan.initImage
属性のいずれか、またはその両方を持つspec.version
属性。
7.11.5 では、Operator は
spec.deploymentPlan.initImage
属性のないspec.deploymentPlan.image
属性、またはその逆が CR に含まれていないことの検証を続けます。7.11.5 では、Operator 検証が変更され、次の点も検証されます。spec.version
属性で指定されたバージョン番号 (存在する場合) が、デプロイされたブローカーコンテナーイメージのバージョンと一致すること。バージョンが異なる場合、Operator は CR の
BrokerVersionAligned
条件のステータスをUnknown
に設定し、情報提供のために不一致であることを強調して示します。ただし、不一致であることはデプロイメント内のブローカーの実行には影響しません。CR に、
spec.version
属性のないspec.deploymentPlan.image
属性とspec.deploymentPlan.initImage
属性が含まれていないこと。CR に
spec.version
属性のないspec.deploymentPlan.image
属性とspec.deploymentPlan.initImage
属性が含まれる場合、Operator は CR のValid
条件のステータスをUnknown
に設定して、設定が不完全であることを警告します。注記spec.version
属性が欠落していると、Operator がアップグレードされるたびに、Operator はデプロイメント内のブローカー Pod を再起動します。spec.version
属性にバージョン番号が明示的に設定されていない限り、Operator はサポートされているブローカーの最新バージョンで StatefulSet のラベルを更新するため、Pod の再起動が必要です。今後 Operator をアップグレードするたびにブローカーが再起動しないようにするには、デプロイしたブローカーのバージョン番号を CR の
spec.version
属性に設定する必要があります。-
7.11.5 では、ブローカーを起動した 後 に、デプロイしたブローカーのバージョン番号を CR の
status
セクションで確認できます。詳細は、OpenShift での AMQ Broker のデプロイ の ブローカーデプロイメントのステータス情報の表示 を参照してください。 7.11.5 より前のバージョンでは、OpenShift Container Platform Web コンソールを使用して、ブローカー Pod のログファイルでバージョン番号を見つけることができます。
-
をクリックします。 - ブローカーの Pod 名をクリックします。
Logs タブをクリックします。
バージョン番号は、ログ出力の上部にある
Artemis
バナーの後に表示されます。
-
-
7.11.5 では、ブローカーを起動した 後 に、デプロイしたブローカーのバージョン番号を CR の
注記条件のステータス値が
Unknown
であることで、Operator によるブローカーデプロイメントの完了が妨げられることはありません。-
- Operator のリーダー選出設定がカスタマイズ可能に
7.11.5 以降、Operator がリーダー選出に使用する設定をカスタマイズできるようになりました。Operator Hub を使用して Operator をインストールする場合、Operator のインストール後に、OpenShift Container Platform Web コンソールを使用して Operator サブスクリプションのリーダー選出設定を指定できます。OpenShift Container Platform コマンドラインインターフェイスを使用して Operator をインストールする場合は、Operator のインストール前または後に、Operator 設定ファイル
operator.yaml
でリーダー選出設定を指定できます。以下は、
operator.yaml
ファイルで設定されたリーダー選出設定の例です。apiVersion: apps/v1 kind: Deployment ... template ... spec: containers: - args: - --leader-elect - --lease-duration=60 - --renew-deadline=40 - --retry-period=5 ...
以下は、Operator サブスクリプションで設定されたリーダー選出設定の例です。
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription ... spec: ... config: env: - name: ARGS value: "--leader-elect --lease-duration=60 --renew-deadline=60 --retry-period=5"
leader-elect
: Operator が他のインスタンスとリーダー選出で競合できるようにして、一度に複数のインスタンスが動作しないようにします。lease-duration
: 非リーダーの Operator が、前のリーダーが更新しなかったリースの取得を試行するまで待機する期間 (秒単位)。デフォルトは15
です。renew-deadline
: リーダーの Operator がリーダーの役割の更新を試行する間隔 (秒単位)。この期間が経過すると、当該 Operator はリーダーでなくなります。デフォルトは10
です。retry-period
: Operator がリーダーの役割の取得と更新を試行する間隔 (秒単位)。デフォルトは2
です。- address-settings 要素の個々の属性が更新可能に
-
7.11.5 では、JMX への Jolokia REST インターフェイスを使用して、
address-settings
要素の個々の属性を JSON 形式で更新できます。以前は、address-settings
要素の属性または属性のサブセットを更新する場合は、変更されていないすべてのaddress-settings
属性も更新操作に含める必要がありました。 - Critical Analyzer の警告レベルのメッセージをエラーレベルに変更
-
7.11.5 では、Critical Analyzer は、以前
WARN
レベルを割り当てていたメッセージにERROR
レベルを割り当てます。 - ページングされたメッセージのメモリーへのフローをより詳細に制御できる新しいパラメーター
7.11.3 より前のバージョンでは、
max-read-page-bytes
パラメーターとmax-read-page-messages
パラメーターの制限を設定することで、ページングされたメッセージのメモリーへのフローを制御します。これらの制限を適用すると、ブローカーは、コンシューマーに配信する準備ができているメモリー内のメッセージと、現在配信中のメッセージの両方をカウントします。コンシューマーによるメッセージの確認が遅い場合、現在配信中のメッセージによってメモリーまたはメッセージの制限が使用され、ブローカーが新しいメッセージをメモリーに読み込むことができなくなる可能性があります。その結果、ブローカーでメッセージが不足する可能性があります。7.11.3 以降では、2 つの新しいパラメーターに制限を設定して、ページングされたメッセージのメモリーへのフローを制御できるようになりました。これらの制限を適用した場合、ブローカーは配信中のメッセージを考慮しません。
-
prefetch-page-bytes
ページングされたメッセージをキューごとにメモリーに読み込むために使用できるメモリー (バイト単位)。デフォルト値は 20 MB です。 -
prefetch-page-messages
ブローカーがキューごとにディスクからメモリーに読み込むことができるページングされたメッセージの数。デフォルト値は -1 で、制限が適用されないことを意味します。
コンシューマーによるメッセージの確認が遅い場合は、
max-read-page-bytes
パラメーターとmax-read-page-message
パラメーターのデフォルトの制限を引き上げて、配信中のメッセージ用に容量を提供できます。そして、prefetch-page-bytes
パラメーターとprefetch-page-messages
パラメーターのデフォルトの制限により、ブローカーは新しいメッセージをメモリーに読み込むことができます。注記prefetch-page-bytes
パラメーターの値よりも前にmax-read-page-bytes
パラメーターの値に達すると、ブローカーはページングされたメッセージをそれ以上メモリーに読み込まなくなります。- AMQ Core Protocol JMS クライアントが、クラスター内の他のライブブローカーにフェイルオーバーできるように
- 7.11.2 より前のバージョンでは、高可用性 (HA) 用のライブ/バックアップペアとしてライブブローカーとバックアップブローカーの両方が設定されている場合、AMQ Core Protocol JMS クライアントは、ライブブローカーへの接続を失ったときに、バックアップブローカーにしかフェイルオーバーできません。7.11.2 以降では、AMQ Core Protocol JMS クライアントは、HA ペア内のバックアップブローカーまたはクラスター内の他のライブブローカーにフェイルオーバーするように設定できます。
クライアントがクラスター内のライブブローカーにフェイルオーバーできるようにするには、クライアントの接続 URI で
failoverAttempts
設定オプションを指定します。以下に例を示します。-
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port,tcp://host3:port,tcp://host4:port,tcp://host5:port)?ha=true&failoverAttempts=2&reconnectAttempts=2”);
failoverAttempts
オプションの値を 2 に設定すると、クライアントはクラスター内の他の 2 つのライブブローカーへの接続を試行します。フェイルオーバーの試行は、クライアントが非 HA 設定のライブブローカーへの接続試行と、HA 設定のライブブローカーおよびバックアップブローカーへの接続試行にすべて失敗した場合に行われます。
上記の例に示す reconnnectAttempts
設定オプションは、両方のブローカーが HA ペアで設定されている場合、ライブブローカーからバックアップブローカーへのフェイルオーバーにのみ使用されます。
- AMQ Broker が JDBC 永続性を使用する場合のページングパフォーマンスの向上
-
7.11.2 以降、AMQ Broker が JDBC 永続性を使用するように設定されている場合、ページングのパフォーマンスが向上します。ページングの改善の一環として、新しいパラメーター
jdbc-max-page-size-bytes
により、JDBC 使用時のページサイズがデフォルトで 100 KB に制限されます。デフォルトの制限はカスタマイズできます。詳細は、AMQ Broker の設定 の JDBC 永続性の設定 を参照してください。 - フェデレーションされたメッセージのバッチ処理
- キューのバックログがローカルコンシューマーの利用可能な容量を超えた場合、優先度の低いフェデレーションコンシューマーがメッセージを受信する候補になります。最終的に、あまりに多くのメッセージがフェデレーテッドコンシューマーに移動して、他のクラスターでも同じ状況を引き起こす可能性があります。その結果、メッセージがブローカー間を行き来することになります。
7.11.2 以降では、ローカルキューに余分な容量がある場合にのみメッセージのバッチをプルするように、フェデレーテッドコンシューマーを設定できます。その結果、フェデレーションは、フェデレーテッドコンシューマーが処理できる以上のメッセージを移動しなくなるため、ブローカー間でメッセージが行き来する状況を回避できます。
メッセージのバッチをプルするようにフェデレーテッドコンシューマーを設定するには、フェデレーテッドコンシューマーの接続 URI で consumerWindowSize
値を 0
に設定します。
tcp://<host>:<port>?consumerWindowSize=0
consumerWindowSize
値が 0
に設定されている場合、AMQ Broker は、一致するアドレスのアドレス設定の defaultConsumerWindowSize
属性値を使用して、ブローカー間を移動するメッセージのバッチサイズを決定します。defaultConsumerWindowSize
属性のデフォルト値は 1048576
バイトです。
このバッチ処理の操作モードは、アクティブなブローカー間の双方向フェデレーションに使用します。
フェデレーションの詳細は、AMQ Broker の設定 の アドレスおよびキューのフェデレーション を参照してください。
- ブローカー起動ヘルスチェック
- 7.11.2 以降、OpenShift Container Platform のコンテナー内の AMQ Broker アプリケーションが正常に起動したことを確認する startup プローブを設定できるようになりました。ヘルスチェックの設定方法について、詳しくは OpenShift での AMQ Broker のデプロイ の ブローカーヘルスチェックの設定 を参照してください。
- ページングに使用されるディスク容量を制限する
- メッセージをページングするように AMQ Broker を設定する場合、受信メッセージのページングに使用されるディスク領域を制限して、ページング操作で過剰なディスク領域が使用されるのを防ぐことができます。詳細については、AMQ Broker の設定 の 特定のアドレスのページング中のディスク使用量の制限 を参照してください。
- ページングから読み取られるメッセージに使用されるメモリーを制限する
- メッセージをページングするように AMQ Broker を設定すると、クライアントがメッセージを消費する準備ができたときにブローカーがディスクからメモリーに転送するメッセージの保存に使用されるメモリーを制限できます。詳細は、AMQ Broker の設定 の ページングされたメッセージのメモリーへのフローの制御 を参照してください。
クライアントアプリケーションが、完了通知待ちのメッセージをあまりにも多く残す場合、ブローカーは保留中のメッセージが承認されるまでページングされたメッセージを読み取らないため、ブローカー上でメッセージ枯渇が発生する可能性があります。
たとえば、ページングされたメッセージのメモリーへの転送の制限 (デフォルトでは 20MB) に達すると、ブローカーはそれ以上のメッセージを読み取る前にクライアントからの確認応答を待ちます。同時に、クライアントがブローカーに確認応答を送信する前に十分なメッセージの受信を待機している場合 (クライアントが使用するバッチサイズによって決まります)、ブローカーはメッセージが不足します。
枯渇を回避するには、メモリーへのページングメッセージの転送を制御するブローカーの制限を増やすか、配信メッセージの数を減らします。クライアントがメッセージ確認応答をより早くコミットするか、タイムアウトを使用してブローカーからメッセージを受信しなくなったときに確認応答をコミットするようにすることで、配信メッセージの数を減らすことができます。
配信メッセージの数とサイズは、AMQ 管理コンソールのキューの Delivering Count
メトリクスと Delivering Bytes
メトリクスで確認できます。
- Log4j 2 ログサポート
- 7.11 以降、AMQ Broker は、JBoss Logging フレームワークの代わりに Log4j 2 ログユーティリティーを使用してメッセージログを提供します。OpenShift Container Platform と RHEL プラットフォームの両方で Log4j 2 ログ設定をカスタマイズできます。
- Operator ログレベルの変更
- OpenShift Container Platform 上の AMQ Broker 7.11 では、デフォルトのログレベルを変更して、Operator ログに書き込まれる詳細を増減できます。詳細については、Openshift への AMQ Broker のデプロイ の Operator ログレベルの変更 を参照してください。
- Java Authentication and Authorization Service (JAAS) ログインモジュールのサポート
- OpenShift Container Platform 上の AMQ Broker 7.11 では、ActiveMQArtemisSecurity CR を使用して AMQ Broker のユーザー認証と承認を設定する代わりに、シークレットで JAAS ログインモジュールを設定できます。JAAS ログインモジュールをシークレットで設定すると、ブローカーを再起動しなくても、プロパティーファイル内のユーザーとロールの情報を更新できます。さらに、CR では設定できない LDAP などのログインモジュールを設定できます。詳細については、OpenShift への AMQ Broker のデプロイ の シークレットでの JAAS ログインモジュールの設定 を参照してください。
- アップグレードの制限
- OpenShift Container Platform 上の AMQ Broker 7.11 では、Operator がブローカーコンテナーイメージを利用可能な最新バージョンに自動的にアップグレードします。デプロイメントのカスタムリソース (CR) を設定して、自動アップグレードを禁止したり、特定のバージョンまたは特定のブローカーおよび初期コンテナーイメージへの自動アップグレードのみを許可したりすることができます。
自動アップグレードを制限する場合は、CR で spec.deploymentPlan.image
属性と spec.deploymentPlan.initImage
属性の組み合わせ、または spec.version
属性のいずれかを指定する必要があります (両方を指定することはできません)。
詳細については、OpenShift への AMQ Broker のデプロイ の 自動アップグレードの制限 を参照してください。
- 拡張ステータスレポート
OpenShift Container Platform 上の AMQ Broker 7.11 では、メインブローカー CR で Operator によって報告されるステータス情報が拡張されました。
- CR の内容の有効性。
-
BrokerProperties
属性で設定されたプロパティーのアプリケーション。 - シークレット内の Java Authentication and Authorization Service (JAAS) ログインモジュールファイルのブローカー Pod への伝播。
- デプロイされているブローカーのバージョンと、そのバージョンのブローカーおよび初期コンテナーイメージの URL。
- メジャー、マイナー、パッチ、およびセキュリティーのアップグレードをデプロイメントに適用する機能。
- 同期ミラーリングのサポート
- 7.11 以降では、ブローカー間の同期ミラーリングを設定して、ミラー内の両方のブローカーのボリュームにメッセージが同時に書き込まれるようにすることができます。同期ミラーリングを使用すると、ミラーリングされたブローカーが障害復旧のために最新の状態に保たれます。詳細については、AMQ Broker の設定 の ブローカー接続の設定 を参照してください。
- Pod の中断バジェット
- OpenShift Container Platform 上の AMQ Broker 7.11 では、Pod 中断バジェットを設定して、メンテナンス期間などの自主的な中断中に同時に使用可能にする必要があるクラスター内の Pod の最小数を指定できます。詳細については、OpenShift への AMQ Broker のデプロイ で Pod 中断バジェットの設定 を参照してください。
- brokerProperties 設定は変更可能なシークレットに保存される
-
OpenShift Container Platform 上の AMQ Broker 7.11 では、CR の
brokerProperties
属性を使用して作成された設定は、変更可能なシークレットに保存されます。変更可能なシークレットは、ブローカーを再起動しなくても更新できます。したがって、設定の更新は、特にブローカーの再起動を必要とする更新を除き、ブローカーが設定を定期的にリロードするときに適用されます。 - 組み込み Web サーバーを制御するための操作
-
7.11 以降、ActiveMQServerControl JMX MBean の
stopEmbeddedWebServer
、startEmbeddedWebServer
、およびrestartEmbeddedWebServer
オペレーションを使用して、AMQ Broker の組み込み Web サーバーを停止および再起動できます。これらの操作を使用すると、AMQ Broker の SSL 証明書を更新する場合などに、AMQ Broker の再起動を回避できます。 - AMQ 管理コンソールへのログインに使用される認証情報はメッセージの送信に使用される
AMQ Broker の以前のバージョンでは、AMQ 管理コンソールでメッセージを送信するには、AMQ 管理コンソールの Preferences ページでユーザー名とパスワードを指定する必要がありました。7.11 以降、メッセージは AMQ 管理コンソールへのログインに使用する認証情報を使用して送信されます。
デフォルトの動作をオーバーライドし、別の認証情報を指定して個別のメッセージを送信できます。詳細については、AMQ Broker の管理 の アドレスへのメッセージの送信 を参照してください。
- OpenShift Container Platform 上の AMQ Broker が Prometheus のメトリックデータを収集するように事前設定される
- OpenShift Container Platform 上の AMQ Broker 7.11 では、Prometheus Operator Service Monitor がメトリックデータを収集できるように AMQ Broker コンテナー Pod が事前設定されています。以前のリリースでは、Service Monitor がメトリックデータを収集するために必要なポートを公開する必要がありました。
- ブローカーコンテナーの環境変数を設定する
-
OpenShift Container Platform 上の AMQ Broker 7.11 では、各ブローカーコンテナーに渡されるカスタムリソース (CR) に環境変数を設定できます。たとえば、
TZ
環境変数を追加して、ブローカーコンテナーのタイムゾーンを設定できます。詳細については、OpenShift への AMQ Broker のデプロイ の ブローカーコンテナーの環境変数の設定 を参照してください。 - OpenShift Container Platform でのプロキシー転送がサポートされる
- OpenShift Container Platform 上の AMQ Broker 7.11 では、AMQ 管理コンソールをホスティングする組み込み Web サーバーが、X-Forwarded ヘッダーを処理するように事前設定されています。X-Forwarded ヘッダーを処理することにより、AMQ 管理コンソールは、プロキシーがリクエストのパスに関与している場合に変更または失われるヘッダー情報を受け取ることができます。たとえば、AMQ 管理コンソールは HTTP を使用しますが、プロキシーである OpenShift Container Platform ルーターは、ルーターで終了する HTTPS ルートを使用して AMQ 管理コンソールを公開します。AMQ 管理コンソールは、X-Forwarded ヘッダーから、ブラウザーとルーターの間の接続が HTTPS を使用していることを識別し、ブラウザーのリクエストを処理するために HTTPS に切り替えることができます。
- 一部の再配信属性が
brokerProperties
CR 属性でのみサポートされる 7.8.x または 7.9.x デプロイメントの
spec.deploymentPlan.addressSettings.addressSetting
CR 要素でredeliveryDelayMultiplier
またはredeliveryCollisionAvoidanceFactor
属性が設定されている場合、7.11.x にアップグレードした後、brokerProperties
CR 属性でこれらの属性を設定する必要があります。7.10.0 では両方の属性のデータ型が float から string に変更されたため、これが必要です。その結果、これらの属性はspec.deploymentPlan.addressSettings.addressSetting
属性ではサポートされなくなりました。次の例は、
brokerProperties
要素で両方の属性を設定する方法を示しています。spec: ... brokerProperties: - "addressSettings.#.redeliveryMultiplier=2.1" - "addressSettings.#.redeliveryCollisionAvoidanceFactor=1.2" ...
注記brokerProperties
属性では、spec.deploymentPlan.addressSettings.addressSetting
要素で使用されていたredeliveryDelayMultiplier
属性名の代わりに、redeliveryMultiplier
属性名を使用します。- XML 外部エンティティー (XXE) 処理の無効化
-
broker.xml
ファイルに含まれる個別のファイルでブローカー設定をモジュール化する必要がない場合は、XXE セキュリティーの脆弱性から保護するために XXE 処理を無効にできます。可能な場合は、XXE 処理を無効にすることが推奨されます。詳細については、AMQ Broker の設定 の 外部 XML エンティティー (XXE) 処理の無効化 を参照してください。 - JGroups 5.x
- 7.10.0 より前のバージョンの AMQ Broker では JGroups 3.x が使用されていました。AMQ Broker 7.11 は JGroups 5.x を使用しますが、これには JGroups 3.x との下位互換性がありません。一部のプロトコルとプロトコルプロパティーは 2 つの JGroup バージョン間で変更されているため、AMQ Broker 7.11 にアップグレードするときに JGroups スタック設定の変更が必要になる場合があります。
- 特定のディレクトリー名に展開された AMQ Broker アーカイブの内容
-
Red Hat Enterprise Linux で AMQ Broker アーカイブを展開すると、アーカイブの内容が現在のディレクトリーの
apache-artemis-2.28.0.redhat-00019
というディレクトリーに展開されます。 - Operator チャンネル
AMQ Broker Operator である
Red Hat Integration - AMQ Broker for RHEL 8 (Multiarch)
は、次のチャネルで入手できます。-
7.11.x
- このチャネルはバージョン 7.11 のみの更新を提供する長期サポート (LTS) チャネルです。 -
7.10.x
- このチャネルはバージョン 7.10 のみの更新を提供する長期サポート (LTS) チャネルです。
-
チャネルの切り替えにより Operator をアップグレードすることはできません。既存の Operator をアンインストールし、適切なチャネルから Operator の新規バージョンをインストールする必要があります。
選択する Operator を判別するには、Red Hat Enterprise Linux コンテナー互換性マトリクス を参照してください。
- Prometheus メトリックプラグインのクラス名を変更します。
-
AMQ Broker 7.11 では、AMQ Broker に含まれる Prometheus メトリックプラグインのクラス名が
org.apache.activemq.artemis.core.server.metrics.plugins.ArtemisPrometheusMetricsPlugin
からcom.redhat.amq.broker.core.server.metrics.plugins.ArtemisPrometheusMetricsPlugin
に変更されました。Prometheus メトリックプラグインが AMQ Broker の以前のバージョンで有効になっている場合は、AMQ Broker 7.11 にアップグレードするときに、broker.xml
設定ファイル内のクラス名を更新する必要があります。詳細については、AMQ Broker の管理 の ブローカーインスタンスの 7.10.x から 7.11.x へのアップグレード を参照してください。 - listProducers API メソッドおよび listProducersInfoAsJSON JMX メソッドによって返されるデータへの変更
-
AMQ Broker 7.11 では、AMQ 管理コンソールで使用される
listProducers
メソッドによってデータが返される方法が次のように強化されています。
-
以前のバージョンで返されたデータでは、プロデューサーはセッションごとに表示されていました。したがって、プロデューサーごとに 2 つのセッションを作成する Core プロトコルを使用してプロデューサーを作成した場合、2 つのセッションごとに別のプロデューサーが表示されます。また、プロデューサーからメッセージを送信せずにプロデューサーを作成した場合、プロデューサーに返されるアドレスは空でした。AMQ Broker 7.11 では、
listProducers
メソッドは、コアプロトコルによって作成された 2 つのセッションに対して 1 つのプロデューサーを返します。さらに、メッセージを送信する前であっても、アドレス列には正しいアドレスが表示されます。 -
以前は、匿名プロデューサを使用して Core または AMQP プロトコルを使用して複数のアドレスにメッセージを送信すると、アドレスごとにプロデューサが表示されていました。さらに、表示されたアドレスはプロデューサーがメッセージを送信した最初のアドレスのものであり、単一のキューに送信する通常のプロデューサーのように見えていました。AMQ Broker 7.11 では、匿名プロデューサーを使用して複数のアドレスにメッセージを送信すると、匿名プロデューサーごとに 1 つのプロデューサーが表示されます。さらに、アドレスは特定のアドレスに関連付けられておらず、
ANONYMOUS
という値を持っています。
以前は、listProducersInfoAsJSON
メソッドは、特定のセッションによって各キューに送信されたメッセージの数を提供していました。ただし、このメソッドは、メッセージの送信先となる各キューのプロデューサーを誤って返していました。たとえば、匿名プロデューサーが 1000 個のキューにメッセージを送信した場合、このメソッドは 1000 個のプロデューサーを返していました。AMQ Broker 7.11 では、listProducersInfoAsJSON
メソッドは listProducers
メソッドとまったく同じデータを返しますが、形式は異なります。
AMQ Broker 7.11 では、次の新しいメトリックデータが返されます。
Consumers
messagesInTransit
- まだ確認されていない配信メッセージの数
messagesInTransitSize
- まだ確認されていない配信メッセージの合計サイズ
messagesDelivered
- 配信されたメッセージの数
messagesDeliveredSize
- 配信されたメッセージの合計サイズ
messagesAcknowledged
- 確認されたメッセージの総数
messagesAcknowledgedAwaitingCommit
- 確認されていても、コミットを待っているトランザクション内のメッセージの総数
lastDeliveredTime
- 最後にメッセージが配信された時間 (ミリ秒単位)
lastAcknowledgedTime
- 最後にメッセージが確認されてからの時間 (ミリ秒単位)
Producers
msgSent
- プロデューサーによって送信されたメッセージの数
msgSizeSent
- プロデューサーによって送信されたメッセージの合計サイズ
lastProducedMessageID
- 最後に送信されたメッセージの ID