5.5. フェイルオーバーオプション

フェイルオーバー URI は接頭辞 failover: で始まり、括弧内に接続 URI のコンマ区切りリストが含まれます。追加のオプションは最後に指定されます。jms. で始まるオプションは、括弧外にある全体的なフェイルオーバー URI に適用され、その有効期間の Connection オブジェクトに影響します。

例: フェイルオーバーオプションを含むフェイルオーバー URI

failover:(amqp://host1:5672,amqp://host2:5672)?jms.clientID=foo&failover.maxReconnectAttempts=20

括弧内の個別のブローカー詳細は、以前に定義した transport. または amqp. オプションを使用できます。各ホストが接続されていると、これらが適用されます。

例: 各接続トランスポートと AMQP オプションを持つフェイルオーバー URI

failover:(amqp://host1:5672?amqp.option=value,amqp://host2:5672?transport.option=value)?jms.clientID=foo

フェイルオーバーのすべての設定オプションは以下のとおりです。

failover.initialReconnectDelay
クライアントが最初にリモートピアへの再接続を試みるまで待機する時間 (ミリ秒単位)。デフォルトは 0 で、最初の試行がすぐに実行されます。
failover.reconnectDelay
再接続試行の間隔 (ミリ秒単位)。backoff オプションが有効になっていない場合、この値は定数のままになります。デフォルトは 10 です。
failover.maxReconnectDelay
クライアントが再接続を試行するまで待機する時間。この値は、遅延が大きくなりすぎないようにバックオフ機能が有効な場合にのみ使用されます。デフォルトは 30 秒です。
failover.useReconnectBackOff
有効にすると、設定された乗数に基づいて再接続試行の間隔が長くなります。これはデフォルトで有効になっています。
failover.reconnectBackOffMultiplier
再接続遅延値を拡張するために使用される乗数。デフォルトは 2.0 です。
failover.maxReconnectAttempts
接続をクライアントに失敗したと報告する前に許可される再接続試行の数。デフォルトは -1 で、無制限を意味します。
failover.startupMaxReconnectAttempts
事前にリモートピアに接続されていないクライアントの場合、このオプションは、接続を失敗と報告する前に接続する試行回数を制御します。設定しなければ、maxReconnectAttempts の値が使用されます。
failover.warnAfterReconnectAttempts
警告がログに記録されるまでの再接続試行の失敗回数。デフォルトは 10 です。
failover.randomize
有効な場合、いずれかの接続を試行する前にフェイルオーバー URI のセットが無作為にシャッフルされます。これにより、クライアント接続を複数のリモートピアに均等に分散させることができます。これはデフォルトで無効にされます。
failover.amqpOpenServerListAction
サーバーからの接続 "open" フレームがクライアントへのフェイルオーバーホストのリストを提供すると、フェイルオーバートランスポートがどのように動作するかを制御します。有効な値は、REPLACEADD、または IGNORE です。REPLACE を設定すると、現在のサーバーにあるサーバー以外のフェイルオーバー URI は、サーバーによって提供されるものに置き換えられます。ADD を設定すると、サーバーによって提供される URI が重複排除を使用して、既存のフェイルオーバー URI セットに追加されます。IGNORE を設定すると、サーバーからの更新は無視され、使用中のフェイルオーバー URI のセットに変更は行われません。デフォルトは REPLACE です。

フェイルオーバー URI は、AMQP およびトランスポートオプションをすべてネスト化されたブローカー URI に指定する手段として、入れ子オプションの定義もサポートします。これは、非フェイルオーバーブローカー URI が前述されているのと同じ transport. および amqp. の URI オプションを使用して実行されますが、failover.nested. のプレフィックスが付けられます。たとえば、接続されたすべてのブローカーに amqp.vhost オプションに同じ値を適用するには、以下のような URI が含まれる場合があります。

例: 共有トランスポートと AMQP オプションを持つフェイルオーバー URI

failover:(amqp://host1:5672,amqp://host2:5672)?jms.clientID=foo&failover.nested.amqp.vhost=myhost