クラス 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(int) を使用して試行回数を制限します。これら 2 つの制限のいずれかに達すると、実行が停止します。
- 導入:
- 4.1
- 作成者:
- Stephane Nicoll, Gary Russell
フィールドのサマリー
フィールド修飾子と型フィールド説明static final longデフォルトの初期間隔。static final intデフォルトの最大試行回数。static final longデフォルトの最大経過時間。static final longデフォルトの最大バックオフ時間。static final doubleデフォルトの乗数(間隔を 50% 増やします)。コンストラクターの概要
コンストラクターコンストラクター説明デフォルト設定でインスタンスを作成します。ExponentialBackOff(long initialInterval, double multiplier) 提供された設定でインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明long初期間隔をミリ秒で返します。intBackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大試行回数を返します。longBackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大経過時間をミリ秒単位で返します。long最大バックオフ時間をミリ秒単位で返します。double再試行のたびに現在の間隔に乗算する値を返します。voidsetInitialInterval(long initialInterval) 初期間隔をミリ秒単位で設定します。voidsetMaxAttempts(int 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デフォルトの初期間隔。- 関連事項:
DEFAULT_MULTIPLIER
public static final double DEFAULT_MULTIPLIERデフォルトの乗数(間隔を 50% 増やします)。- 関連事項:
DEFAULT_MAX_INTERVAL
public static final long DEFAULT_MAX_INTERVALデフォルトの最大バックオフ時間。- 関連事項:
DEFAULT_MAX_ELAPSED_TIME
public static final long DEFAULT_MAX_ELAPSED_TIMEデフォルトの最大経過時間。- 関連事項:
DEFAULT_MAX_ATTEMPTS
public static final int DEFAULT_MAX_ATTEMPTSデフォルトの最大試行回数。- 導入:
- 6.1
- 関連事項:
コンストラクターの詳細
ExponentialBackOff
public ExponentialBackOff()デフォルト設定でインスタンスを作成します。ExponentialBackOff
public ExponentialBackOff(long initialInterval, double multiplier) 提供された設定でインスタンスを作成します。- パラメーター:
initialInterval- ミリ秒単位の初期間隔multiplier- 乗数 (1 以上である必要があります)
メソッドの詳細
setInitialInterval
public void setInitialInterval(long initialInterval) 初期間隔をミリ秒単位で設定します。getInitialInterval
public long getInitialInterval()初期間隔をミリ秒で返します。setMultiplier
public void setMultiplier(double multiplier) 再試行ごとに現在の間隔を乗算する値を設定します。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(int maxAttempts) BackOffExecution.nextBackOff()への呼び出しがBackOffExecution.STOPを返すまでの最大試行回数。- パラメーター:
maxAttempts- 最大試行回数- 導入:
- 6.1
- 関連事項:
getMaxAttempts
public int getMaxAttempts()BackOffExecution.nextBackOff()の呼び出しがBackOffExecution.STOPを返すまでの最大試行回数を返します。- 戻り値:
- 最大試行回数
- 導入:
- 6.1
- 関連事項:
start
インターフェースからコピーされた説明:BackOff新しいバックオフ実行を開始します。- 次で指定:
- インターフェース
BackOffのstart - 戻り値:
- すぐに使用できる新しい
BackOffExecution
toString