モジュール spring.retry

クラス UniformRandomBackOffPolicy

java.lang.ObjectSE
org.springframework.retry.backoff.StatelessBackOffPolicy
org.springframework.retry.backoff.UniformRandomBackOffPolicy
実装済みのインターフェース一覧:
BackOffPolicySleepingBackOffPolicy<UniformRandomBackOffPolicy>

public class UniformRandomBackOffPolicy extends StatelessBackOffPolicy implements SleepingBackOffPolicy<UniformRandomBackOffPolicy>
続行する前にランダムな時間一時停止する BackOffPolicy の実装。一時停止は Sleeper.sleep(long) を使用して実装されます。setMinBackOffPeriod(long) はスレッドセーフであり、複数のスレッドから実行中に setMaxBackOffPeriod(long) を呼び出すことは安全ですが、これにより、1 回の再試行操作で異なる間隔の一時停止が発生する可能性があります。
作成者:
Rob Harrop, Dave Syer, Tomaz Fernandes, Marius Lichtblau
  • コンストラクターの詳細

    • UniformRandomBackOffPolicy

      public UniformRandomBackOffPolicy()
  • 方法の詳細

    • withSleeper

      public UniformRandomBackOffPolicy withSleeper(Sleeper sleeper)
      インターフェースからコピーされた説明: SleepingBackOffPolicy
      ポリシーを複製し、渡されたスリーパーを使用する新しいポリシーを返します。
      次で指定:
      インターフェース SleepingBackOffPolicy<UniformRandomBackOffPolicy> 内の withSleeper 
      パラメーター:
      sleeper - バックオフポリシーがスリープするたびに呼び出されるターゲット
      戻り値:
      このポリシーのクローンで、そのバックオフスリープはすべて渡されたスリーパーにルーティングされます。
    • setSleeper

      public void setSleeper(Sleeper sleeper)
      Sleeper 戦略のパブリック setter。
      パラメーター:
      sleeper - 設定するスリーパーはデフォルトで ThreadWaitSleeper になります。
    • setMinBackOffPeriod

      public void setMinBackOffPeriod(long backOffPeriod)
      最小バックオフ期間をミリ秒単位で設定します。1 未満にすることはできません。デフォルト値は 500 ミリ秒です。
      パラメーター:
      backOffPeriod - バックオフ期間
    • minBackOffPeriodSupplier

      public void minBackOffPeriodSupplier(SupplierSE<LongSE> backOffPeriodSupplier)
      最小バックオフ期間のサプライヤーをミリ秒単位で設定します。1 未満にすることはできません。デフォルトのサプライヤーは 500 ミリ秒を提供します。
      パラメーター:
      backOffPeriodSupplier - バックオフ期間
      導入:
      2.0
    • getMinBackOffPeriod

      public long getMinBackOffPeriod()
      最小バックオフ期間(ミリ秒単位)。
      戻り値:
      バックオフ期間
    • setMaxBackOffPeriod

      public void setMaxBackOffPeriod(long backOffPeriod)
      最大バックオフ期間をミリ秒単位で設定します。1 未満にすることはできません。デフォルト値は 1500 ミリ秒です。
      パラメーター:
      backOffPeriod - バックオフ期間
    • maxBackOffPeriodSupplier

      public void maxBackOffPeriodSupplier(SupplierSE<LongSE> backOffPeriodSupplier)
      サプライヤーの最大バックオフ期間をミリ秒単位で設定します。1 未満にすることはできません。デフォルトのサプライヤーは 1500 ミリ秒を提供します。
      パラメーター:
      backOffPeriodSupplier - バックオフ期間
      導入:
      2.0
    • getMaxBackOffPeriod

      public long getMaxBackOffPeriod()
      最大バックオフ期間(ミリ秒単位)。
      戻り値:
      バックオフ期間
    • doBackOff

      protected void doBackOff() throws BackOffInterruptedException
      setMinBackOffPeriod(long) を一時停止します。
      次で指定:
      クラス StatelessBackOffPolicydoBackOff 
      例外:
      BackOffInterruptedException - 睡眠中に中断された場合。
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString