第5章 設定オプション
本章では、AMQ OpenWire JMS で利用可能な設定オプションについて説明します。
JMS 設定オプションは、接続 URI でクエリーパラメーターとして設定されます。詳細は、「「接続 URI」」を参照してください。
5.1. JMS オプション
- jms.username
- クライアントが接続を認証するために使用するユーザー名。
- jms.password
- クライアントが接続を認証するために使用するパスワード。
- jms.clientID
- クライアントが接続に適用するクライアント ID。
- jms.closeTimeout
- JMS 終了操作のタイムアウト (ミリ秒単位)。デフォルトは 15000 (15 秒) です。
- jms.connectResponseTimeout
- JMS 接続操作のタイムアウト (ミリ秒単位)。デフォルトは 0 で、タイムアウトなしを意味します。
- jms.sendTimeout
- JMS 送信操作のタイムアウト (ミリ秒単位)。デフォルトは 0 で、タイムアウトなしを意味します。
- jms.checkForDuplicates
- 有効にすると、重複メッセージを無視します。これは、デフォルトで有効になっています。
- jms.disableTimeStampsByDefault
- 有効な場合は、タイムスタンプのメッセージは使用しないでください。これはデフォルトでは無効にされます。
- jms.useAsyncSend
- 有効にすると、確認応答を待たずにメッセージを送信します。これはデフォルトでは無効にされます。
- jms.alwaysSyncSend
- 有効にすると、送信はすべての配信モードで承認を待ちます。これはデフォルトでは無効にされます。
- jms.useCompression
- 有効にすると、メッセージの本文を圧縮します。これはデフォルトでは無効にされます。
- jms.useRetroactiveConsumer
- 有効にすると、非永続サブスクライバーはサブスクリプションの開始前に公開されたメッセージを受信できます。これはデフォルトでは無効にされます。
Prefetch ポリシーオプション
Prefetch ポリシーは、各 MessageConsumer
がリモートピアから取得し、ローカルの「prefetch」バッファーに保持するメッセージの数を決定します。
- jms.prefetchPolicy.queuePrefetch
- キューの事前フェッチするメッセージの数を指定。デフォルトは 1000 です。
- jms.prefetchPolicy.queueBrowserPrefetch
- キューブラウザーの事前フェッチするメッセージの数を指定。デフォルトは 500 です。
- jms.prefetchPolicy.topicPrefetch
- 非永続トピック用に事前にフェッチするメッセージの数。デフォルトは 32766 です。
- jms.prefetchPolicy.durableTopicPrefetch
- 永続トピック用に事前にフェッチするメッセージの数。デフォルトは 100 です。
- jms.prefetchPolicy.all
- これは、すべての事前にフェッチされた値を一度に設定するために使用できます。
prefetch の値は、キューの複数のコンシューマーへのメッセージの分散に影響します。値が大きいと、各コンシューマーに一度に送信されるバッチが大きくなる可能性があります。コンシューマーが異なるレートで動作している場合に、より均等にラウンドロビンの分散を実現するには、小さい値を使用します。
再配信ポリシーオプション
再配信ポリシーは、クライアント上で再配信されたメッセージの処理方法を制御します。
- jms.redeliveryPolicy.maximumRedeliveries
- メッセージがデッドレターキューに送信される前に再配信を試行する回数。デフォルトは 6 で、-1 は制限がないことを意味します。
- jms.redeliveryPolicy.redeliveryDelay
-
再配信試行の間隔 (ミリ秒単位)。
initialRedeliveryDelay
が 0 の場合に使用されます。デフォルトは 1000 (1 秒) です。 - jms.redeliveryPolicy.initialRedeliveryDelay
- 最初の再配信試行までの時間 (ミリ秒単位)。デフォルトは 1000 (1 秒) です。
- jms.redeliveryPolicy.maximumRedeliveryDelay
-
再配信の試行間隔の最大時間 (ミリ秒単位)。これは、
useExponentialBackOff
が有効な場合に使用されます。デフォルトは 1000 (1 秒) です。-1 は無制限を意味します。 - jms.redeliveryPolicy.useExponentialBackOff
- 有効にすると、後続の試行ごとに再配信の遅延を増やします。これはデフォルトでは無効にされます。
- jms.redeliveryPolicy.backOffMultiplier
- 再配信の遅延を増やす乗数。デフォルトは 5 です。
- jms.redeliveryPolicy.useCollisionAvoidance
- 有効にすると、再配信の遅延を若干上またはスケールダウンして、競合を回避します。これはデフォルトでは無効にされます。
- jms.redeliveryPolicy.collisionAvoidanceFactor
- 再配信の遅延を増やす乗数。デフォルトは 0.15 です。
- nonBlockingRedelivery
- 有効にすると、インラインブロックを回避するために、再配信を順序付けます。これはデフォルトでは無効にされます。