クラス ExponentialBackOff
java.lang.ObjectSE
org.springframework.util.backoff.ExponentialBackOff
- 実装されているすべてのインターフェース:
BackOff
各試行のバックオフ期間を増やす
BackOff の実装。間隔が最大間隔に達すると、それ以上は増加しません。最大経過時間または最大試行回数に達すると停止します。サンプル: デフォルトの間隔は 2000L ミリ秒です。デフォルトの乗数は 1.5 です。デフォルトの最大間隔は 30000L です。10 回の試行の場合、シーケンスは次のようになります。
request# back-off 1 2000 2 3000 3 4500 4 6750 5 10125 6 15187 7 22780 8 30000 9 30000 10 30000
デフォルトの最大経過時間は Long.MAX_VALUESE、デフォルトの最大試行回数は Integer.MAX_VALUESE であることに注意してください。setMaxElapsedTime(long) を使用して、インスタンスが BackOffExecution.STOP を返すまでに蓄積する時間を制限します。または、setMaxAttempts(long) を使用して試行回数を制限します。これら 2 つの制限のいずれかに達すると、実行が停止します。
- 導入:
- 4.1
- 作成者:
- Stephane Nicoll, Gary Russell, Juergen Hoeller
フィールドのサマリー
フィールド修飾子と型フィールド説明static final longデフォルトの初期間隔: 2000L msstatic final long各間隔のデフォルトのジッター値: 0L ms。static final longデフォルトの最大試行回数: 無制限。static final longデフォルトの最大経過時間: 無制限。static final longデフォルトの最大バックオフ時間: 30000L ミリ秒。static final doubleデフォルトの乗数(間隔を 50% 増加): 1.5。コンストラクターの概要
コンストラクターコンストラクター説明デフォルト設定でインスタンスを作成します。ExponentialBackOff(long initialInterval, double multiplier) 提供された設定でインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明long初期間隔をミリ秒で返します。long各間隔に適用するジッター値をミリ秒単位で返します。longBackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大試行回数を返します。longBackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大経過時間をミリ秒単位で返します。long最大バックオフ時間をミリ秒単位で返します。double各試行ごとに現在の間隔に掛ける値を返します。voidsetInitialInterval(long initialInterval) 初期間隔を設定します。voidsetJitter(long jitter) 各間隔に適用するジッター値を設定します。ランダムなミリ秒が減算または加算され、interval - jitterとinterval + jitterの間の値になりますが、initialIntervalを下回ったり、maxIntervalを上回ることはありません。voidsetMaxAttempts(long maxAttempts) BackOffExecution.nextBackOff()への呼び出しがBackOffExecution.STOPを返すまでの最大試行回数。voidsetMaxElapsedTime(long maxElapsedTime) BackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大経過時間をミリ秒単位で設定します。voidsetMaxInterval(long maxInterval) 最大バックオフ時間をミリ秒単位で設定します。voidsetMultiplier(double multiplier) 各試行ごとに現在の間隔に掛ける値を設定します。start()新しいバックオフ実行を開始します。toString()
フィールドの詳細
DEFAULT_INITIAL_INTERVAL
public static final long DEFAULT_INITIAL_INTERVALデフォルトの初期間隔: 2000L ms- 関連事項:
DEFAULT_JITTER
public static final long DEFAULT_JITTER各間隔のデフォルトのジッター値: 0L ms。- 導入:
- 7.0
- 関連事項:
DEFAULT_MULTIPLIER
public static final double DEFAULT_MULTIPLIERデフォルトの乗数(間隔を 50% 増加): 1.5。- 関連事項:
DEFAULT_MAX_INTERVAL
public static final long DEFAULT_MAX_INTERVALデフォルトの最大バックオフ時間: 30000L ミリ秒。- 関連事項:
DEFAULT_MAX_ELAPSED_TIME
public static final long DEFAULT_MAX_ELAPSED_TIMEデフォルトの最大経過時間: 無制限。- 関連事項:
DEFAULT_MAX_ATTEMPTS
public static final long DEFAULT_MAX_ATTEMPTSデフォルトの最大試行回数: 無制限。- 導入:
- 6.1
- 関連事項:
コンストラクターの詳細
ExponentialBackOff
public ExponentialBackOff()デフォルト設定でインスタンスを作成します。- 関連事項:
ExponentialBackOff
public ExponentialBackOff(long initialInterval, double multiplier) 提供された設定でインスタンスを作成します。- パラメーター:
initialInterval- ミリ秒単位の初期間隔multiplier- 乗数 (1 以上である必要があります)
メソッドの詳細
setInitialInterval
public void setInitialInterval(long initialInterval) 初期間隔を設定します。- パラメーター:
initialInterval- ミリ秒単位の初期間隔
getInitialInterval
public long getInitialInterval()初期間隔をミリ秒で返します。setJitter
public void setJitter(long jitter) 各間隔に適用するジッター値を設定します。ランダムなミリ秒が減算または加算され、interval - jitterとinterval + jitterの間の値になりますが、initialIntervalを下回ったり、maxIntervalを上回ることはありません。multiplierが指定されている場合は、ジッタ値にも適用されます。- パラメーター:
jitter- ジッター値(ミリ秒)- 導入:
- 7.0
getJitter
public long getJitter()各間隔に適用するジッター値をミリ秒単位で返します。- 導入:
- 7.0
setMultiplier
getMultiplier
public double getMultiplier()各試行ごとに現在の間隔に掛ける値を返します。setMaxInterval
public void setMaxInterval(long maxInterval) 最大バックオフ時間をミリ秒単位で設定します。getMaxInterval
public long getMaxInterval()最大バックオフ時間をミリ秒単位で返します。setMaxElapsedTime
public void setMaxElapsedTime(long maxElapsedTime) BackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大経過時間をミリ秒単位で設定します。- パラメーター:
maxElapsedTime- 最大経過時間- 関連事項:
getMaxElapsedTime
public long getMaxElapsedTime()BackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大経過時間をミリ秒単位で返します。- 戻り値:
- 最大経過時間
- 関連事項:
setMaxAttempts
public void setMaxAttempts(long maxAttempts) BackOffExecution.nextBackOff()への呼び出しがBackOffExecution.STOPを返すまでの最大試行回数。- パラメーター:
maxAttempts- 最大試行回数- 導入:
- 6.1
- 関連事項:
getMaxAttempts
public long getMaxAttempts()BackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大試行回数を返します。- 戻り値:
- 最大試行回数
- 導入:
- 6.1
- 関連事項:
start
インターフェースからコピーされた説明:BackOff新しいバックオフ実行を開始します。- 次で指定:
- インターフェース
BackOffのstart - 戻り値:
- すぐに使用できる新しい
BackOffExecution
toString