8.5. メッセージ消費率の設定


コンシューマーがメッセージを消費できる比率を規制できます。これはスロットリング とも呼ばれ、コンシューマーが設定の許容範囲を超えてメッセージを消費しないように、消費率を制限します。

注記

レート制限のあるフロー制御は、ウィンドウベースのフロー制御と併せて使用できます。レート制限のあるフロー制御は、クライアントが 1 秒ごとに消費できるメッセージ数のみに影響し、バッファー内のメッセージ数には影響しません。レート制限が遅く、ウィンドウベースの制限が高いと、クライアントの内部バッファーがメッセージですぐにいっぱいになってしまいます。

この機能を有効にするには、レートには正の整数を指定する必要ががあります。これは 1 秒あたりのメッセージ数を単位として指定された希望する最大のメッセージ消費率になります。レートを -1 に設定すると、レート制限のあるフロー制御が無効になります。デフォルト値は -1 です。

以下の例は、メッセージの消費レートを毎秒 10 個のメッセージに制限するクライアントを示しています。

手順

  • クライアントが JNDI を使用して接続ファクトリーをインスタンス化する場合は、接続文字列 URL の一部として consumerMaxRate パラメーターを含めます。JNDI コンテキスト環境内に URL を格納します。以下の例では、jndi.properties ファイルを使用して URL を格納します。

    java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory
    java.naming.provider.url=tcp://localhost:61616?consumerMaxRate=10
  • クライアントが JNDI を使用して接続ファクトリーをインスタンス化しない場合は、値を ActiveMQConnectionFactory.setConsumerMaxRate() に渡します。

    ConnectionFactory cf =  ActiveMQJMSClient.createConnectionFactory(...)
    cf.setConsumerMaxRate(10);

その他のリソース

コンシューマーレートの制限方法の例は、<install-dir>/examples/standardconsumer-rate-limit の例を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る