java.lang.ObjectSE
org.springframework.retry.backoff.ExponentialBackOffPolicy
- 実装済みのインターフェース一覧:
BackOffPolicy,SleepingBackOffPolicy<ExponentialBackOffPolicy>
- 既知の直属サブクラス
ExponentialRandomBackOffPolicy
public class ExponentialBackOffPolicy
extends ObjectSE
implements SleepingBackOffPolicy<ExponentialBackOffPolicy>
特定の設定で再試行のバックオフ期間を制限まで増やす
BackOffPolicy の実装。この実装はスレッドセーフで、同時アクセスに適しています。構成を変更しても、すでに進行中の再試行セットには影響しません。setInitialInterval(long) プロパティは最初の再試行の初期遅延値を制御し、setMultiplier(double) プロパティは後続の試行ごとに遅延をどれだけ増やすかを制御します。遅延間隔の上限は setMaxInterval(long) です。- 作成者:
- Rob Harrop, Dave Syer, Gary Russell, Artem Bilan, Marius Lichtblau, Anton Aharkau, Kim Sumin
フィールド概要
フィールド修飾子と型フィールド説明static final longデフォルトの "initialInterval" 値 - 100 ミリ秒。static final longデフォルトの最大バックオフ時間 (30 秒)。static final doubleデフォルトの「乗数」値 - バックオフごとに増加する値 2 (100%。protected final org.apache.commons.logging.Logコンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明voidbackOff(BackOffContext backOffContext) 現在のバックオフ間隔の間一時停止します。protected voidcloneValues(ExponentialBackOffPolicy target) long最初のバックオフでスリープする初期期間。protected SupplierSE<LongSE>longスリープする最大間隔。protected SupplierSE<LongSE>double前回のバックオフ間隔から次のバックオフ間隔を生成するために使用する乗数。protected SupplierSE<DoubleSE>voidinitialIntervalSupplier(SupplierSE<LongSE> initialIntervalSupplier) 初期のスリープ間隔値を設定します。voidmaxIntervalSupplier(SupplierSE<LongSE> maxIntervalSupplier) 最大バックオフ期間の場合は Setter。voidmultiplierSupplier(SupplierSE<DoubleSE> multiplierSupplier) 乗数値を設定します。protected ExponentialBackOffPolicyvoidsetInitialInterval(long initialInterval) 初期のスリープ間隔値を設定します。voidsetMaxInterval(long maxInterval) 最大バックオフ期間の場合は Setter。voidsetMultiplier(double multiplier) 乗数値を設定します。voidsetSleeper(Sleeper sleeper) Sleeper戦略のパブリック setter。start(RetryContext context) 構成されたプロパティを持つBackOffContextの新しいインスタンスを返します。toString()withSleeper(Sleeper sleeper) ポリシーを複製し、渡されたスリーパーを使用する新しいポリシーを返します。
フィールドの詳細
logger
protected final org.apache.commons.logging.Log loggerDEFAULT_INITIAL_INTERVAL
public static final long DEFAULT_INITIAL_INTERVALデフォルトの "initialInterval" 値 - 100 ミリ秒。デフォルトの「乗数」値と組み合わせると、1 ~ 5 回の再試行の便利な初期休止範囲が得られます。- 関連事項:
DEFAULT_MAX_INTERVAL
public static final long DEFAULT_MAX_INTERVALデフォルトの最大バックオフ時間 (30 秒)。- 関連事項:
DEFAULT_MULTIPLIER
public static final double DEFAULT_MULTIPLIERデフォルトの「乗数」値 - バックオフごとに増加する値 2 (100%。- 関連事項:
コンストラクターの詳細
ExponentialBackOffPolicy
public ExponentialBackOffPolicy()
方法の詳細
setSleeper
Sleeper戦略のパブリック setter。- パラメーター:
sleeper- 設定するスリーパーはデフォルトでThreadWaitSleeperになります。
withSleeper
インターフェースからコピーされた説明:SleepingBackOffPolicyポリシーを複製し、渡されたスリーパーを使用する新しいポリシーを返します。- 次で指定:
- インターフェース
SleepingBackOffPolicy<ExponentialBackOffPolicy>内のwithSleeper - パラメーター:
sleeper- バックオフポリシーがスリープするたびに呼び出されるターゲット- 戻り値:
- このポリシーのクローンで、そのバックオフスリープはすべて渡されたスリーパーにルーティングされます。
newInstance
cloneValues
setInitialInterval
public void setInitialInterval(long initialInterval) 初期スリープ間隔値を設定します。デフォルトは100ミリ秒です。1 未満の値には設定できません。- パラメーター:
initialInterval- 初期間隔
setMultiplier
public void setMultiplier(double multiplier) 乗数値を設定します。デフォルトは '2.0' です。ヒント: 1.0 を大幅に超える値は使用しないでください (そうしないと、バックオフがすぐに非常に長くなります)。- パラメーター:
multiplier- 乗数
setMaxInterval
public void setMaxInterval(long maxInterval) 最大バックオフ期間は Setter です。デフォルトは 30000 (30 秒です。このメソッドが 1 未満の値で呼び出されると、値は 1 にリセットされます。バックオフを多数回行う場合 (または乗数が高すぎる場合) に無限待機を回避するには、これを設定します。- パラメーター:
maxInterval- ミリ秒単位。
initialIntervalSupplier
初期スリープ間隔値を設定します。デフォルトのサプライヤーは100ミリ秒を提供します。- パラメーター:
initialIntervalSupplier- 初期間隔- 導入:
- 2.0
multiplierSupplier
乗数値を設定します。デフォルトのサプライヤーは '2.0' を提供します。ヒント: 1.0 を大幅に超える値は使用しないでください (そうしないと、バックオフがすぐに非常に長くなります)。- パラメーター:
multiplierSupplier- 乗数- 導入:
- 2.0
maxIntervalSupplier
最大バックオフ期間は Setter です。デフォルトは 30000 (30 秒です。このメソッドが 1 未満の値で呼び出されると、値は 1 にリセットされます。バックオフを多数回行う場合 (または乗数が高すぎる場合) に無限待機を回避するには、これを設定します。- パラメーター:
maxIntervalSupplier- ミリ秒単位。- 導入:
- 2.0
getInitialIntervalSupplier
getMaxIntervalSupplier
getMultiplierSupplier
getInitialInterval
public long getInitialInterval()最初のバックオフでスリープする初期期間。- 戻り値:
- 初期間隔
getMaxInterval
public long getMaxInterval()スリープする最大間隔。デフォルトは 30 秒です。- 戻り値:
- 最大間隔。
getMultiplier
public double getMultiplier()前回のバックオフ間隔から次のバックオフ間隔を生成するために使用する乗数。- 戻り値:
- 使用されている乗数
start
構成されたプロパティを持つBackOffContextの新しいインスタンスを返します。- 次で指定:
- インターフェース
BackOffPolicy内のstart - パラメーター:
context-RetryContextコンテキストには、今後の進め方を決定するために使用できる情報が含まれている可能性があります。- 戻り値:
- 実装固有の
BackOffContextまたは 'null'。
backOff
現在のバックオフ間隔の間一時停止します。- 次で指定:
- インターフェース
BackOffPolicy内のbackOff - パラメーター:
backOffContext-BackOffContext- 例外:
BackOffInterruptedException- 後退の試みが中断された場合。
toString