クラス ExponentialRandomBackOffPolicy
java.lang.ObjectSE
org.springframework.retry.backoff.ExponentialBackOffPolicy
org.springframework.retry.backoff.ExponentialRandomBackOffPolicy
- 実装されたすべてのインターフェース:
BackOffPolicy
,SleepingBackOffPolicy<ExponentialBackOffPolicy>
単純な決定論的指数から得られる間隔のランダムな倍数を選択する
ExponentialBackOffPolicy
の実装。ランダムな倍数は、1 と決定論的乗数の間で均一に分散されます (したがって、実際の間隔は、決定論的なケースでは次の間隔と次の 1 つ前の間隔の間のどこかになります)。これは、ジッターと呼ばれることがよくあります。これは、少なくとも、テストで多くの再試行が必要になることで過度の競合が発生するテストシナリオでは役立つことがわかっています。テストでは、通常、スレッドが同時に開始されるため、次の間隔に一緒に踏み込みます。この BackOffPolicy
を使用すると、そのシナリオを回避できます。例: initialInterval = 50 乗数 = 2.0 maxInterval = 3000 numRetries = 5 ExponentialBackOffPolicy
の結果: [50, 100, 200, 400, 800] ExponentialRandomBackOffPolicy
の結果は [76, 151, 304, 580, 901] または [53, 190, 267, 451, 815] になる場合があります ([50-100、100-200, 200-400, 400-800、800-1600] の範囲内のランダム分布値)- 作成者:
- Jon Travis, Dave Syer, Chase Diem
フィールドのサマリー
クラス org.springframework.retry.backoff.ExponentialBackOffPolicy から継承されたフィールド
DEFAULT_INITIAL_INTERVAL, DEFAULT_MAX_INTERVAL, DEFAULT_MULTIPLIER, logger
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ExponentialBackOffPolicy
start
(RetryContext context) このポリシー設定でシードされたBackOffContext
の新しいインスタンスを返します。クラス org.springframework.retry.backoff.ExponentialBackOffPolicy から継承されたメソッド
backOff, cloneValues, getInitialInterval, getInitialIntervalSupplier, getMaxInterval, getMaxIntervalSupplier, getMultiplier, getMultiplierSupplier, initialIntervalSupplier, maxIntervalSupplier, multiplierSupplier, setInitialInterval, setMaxInterval, setMultiplier, setSleeper, toString, withSleeper
コンストラクターの詳細
ExponentialRandomBackOffPolicy
public ExponentialRandomBackOffPolicy()
メソッドの詳細
start
このポリシー設定でシードされたBackOffContext
の新しいインスタンスを返します。- 次で指定:
- インターフェース
BackOffPolicy
のstart
- オーバーライド:
- クラス
ExponentialBackOffPolicy
のstart
- パラメーター:
context
-RetryContext
コンテキストには、今後の進め方を決定するために使用できる情報が含まれている可能性があります。- 戻り値:
- 実装固有の
BackOffContext
または 'null
'。
newInstance
- オーバーライド:
- クラス
ExponentialBackOffPolicy
のnewInstance