java.lang.ObjectSE
org.springframework.retry.backoff.BackOffPolicyBuilder
指定された属性に基づいて
BackOffPolicy を作成するための Fluent API。遅延値はミリ秒単位で表されます。指定された値が 1 未満の場合、結果のポリシーはそれを 1 に設定します。デフォルトのポリシーは、遅延が 1000 ミリ秒の FixedBackOffPolicy です。例:
// DefaultFixedBackOffPolicywith 1000ms delay BackOffPolicyBuilder .newDefaultPolicy(); //FixedBackOffPolicyBackOffPolicyBuilder .newBuilder() .delay(2000) .build(); //UniformRandomBackOffPolicyBackOffPolicyBuilder .newBuilder() .delay(500) .maxDelay(1000) .build(); //ExponentialBackOffPolicyBackOffPolicyBuilder .newBuilder() .delay(1000) .maxDelay(5000) .multiplier(2) .build(); //ExponentialRandomBackOffPolicywith providedSleeperBackOffPolicyBuilder .newBuilder() .delay(3000) .maxDelay(5000) .multiplier(1.5) .random(true) .sleeper(mySleeper) .build();
スレッドセーフではありません。ビルドは単一のスレッドで実行する必要があります。ただし、結果として得られる BackOffPolicy はスレッドセーフであることが期待され、中程度の負荷の同時アクセス用に設計されています。
- 導入:
- 1.3.3
- 作成者:
- Tomaz Fernandes, Aftab Shaikh
方法の概要
修飾子と型メソッド説明build()指定されたパラメーターを使用してBackOffPolicyを構築します。delay(long delay) 標準的なバックオフ期間。delaySupplier(SupplierSE<LongSE> delaySupplier) 遅延のサプライヤーを設定します。maxDelay(long maxDelay) 再試行間の最大待機時間(ミリ秒単位)。maxDelaySupplier(SupplierSE<LongSE> maxDelaySupplier) 最大遅延のサプライヤーを設定します。multiplier(double multiplier) 正の場合、バックオフの次の遅延を生成するための乗数として使用されます。multiplierSupplier(SupplierSE<DoubleSE> multiplierSupplier) 乗数のサプライヤーを設定します。static BackOffPolicyBuilder新しいBackOffPolicyBuilderインスタンスを作成します。static BackOffPolicy1000 ミリ秒の遅延で新しいFixedBackOffPolicyインスタンスを作成します。random(boolean random) 指数関数の場合 (multiplier> 0)、これを true に設定するとバックオフ遅延がランダム化され、最大遅延が前の遅延の乗数倍になり、2 つの値の間で分布が均一になります。randomSupplier(SupplierSE<BooleanSE> randomSupplier) ランダムにサプライヤーを設定します。バックオフに使用するSleeperインスタンス。
方法の詳細
newBuilder
新しいBackOffPolicyBuilderインスタンスを作成します。- 戻り値:
- ビルダーインスタンス
newDefaultPolicy
1000 ミリ秒の遅延で新しいFixedBackOffPolicyインスタンスを作成します。- 戻り値:
- バックオフポリシーインスタンス
delay
標準的なバックオフ期間。指数の場合は初期値として使用され、均一の場合は最小値として使用されます。- パラメーター:
delay- 初期または標準のバックオフ期間(ミリ秒単位)- 戻り値:
- this
maxDelay
再試行間の最大待機時間(ミリ秒単位)。delay(long)より小さい場合は、結果のポリシーに応じてデフォルト値が適用されます。- パラメーター:
maxDelay- 再試行間の最大待機時間(ミリ秒)- 戻り値:
- this
multiplier
正の場合、バックオフの次の遅延を生成するための乗数として使用されます。- パラメーター:
multiplier- 次のバックオフ遅延を計算するために使用する乗数- 戻り値:
- this
random
指数関数の場合 (multiplier> 0)、これを true に設定するとバックオフ遅延がランダム化され、最大遅延が前の遅延の乗数倍になり、2 つの値の間で分布が均一になります。- パラメーター:
random- ランダム化を通知するフラグが必要です- 戻り値:
- this
sleeper
バックオフに使用するSleeperインスタンス。ポリシーのデフォルトはThreadWaitSleeperです。- パラメーター:
sleeper-Sleeperインスタンス- 戻り値:
- this
delaySupplier
遅延のサプライヤーを設定します。- パラメーター:
delaySupplier- サプライヤー。- 戻り値:
- this
- 導入:
- 2.0
maxDelaySupplier
最大遅延のサプライヤーを設定します。- パラメーター:
maxDelaySupplier- サプライヤー。- 戻り値:
- this
- 導入:
- 2.0
multiplierSupplier
乗数のサプライヤーを設定します。- パラメーター:
multiplierSupplier- サプライヤー。- 戻り値:
- this
- 導入:
- 2.0
randomSupplier
ランダムにサプライヤーを設定します。- パラメーター:
randomSupplier- サプライヤー。- 戻り値:
- this
- 導入:
- 2.0
build
指定されたパラメーターを使用してBackOffPolicyを構築します。- 戻り値:
BackOffPolicyインスタンス