アノテーションインターフェース BackOff


RetryPolicy の一部として BackOff インスタンスを作成するためのメタデータを収集します。値はそのまま指定することも、より多くの形式と式の評価をサポートする *String 相当の値を使用して指定することもできます。

使用可能な属性は次のとおりです。

導入:
4.0
作成者:
Dave Syer, Gary Russell, Aftab Shaikh, Stephane Nicoll
  • フィールド概要

    フィールド
    修飾子と型
    フィールド
    説明
    static final long
    デフォルトの delay() はミリ秒単位です。
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    long
    最初の呼び出し後の基本遅延を指定します。
    文字列形式を使用して、最初の呼び出し後の基本遅延を指定します。
    long
    計算された遅延に対してランダムに減算または加算される基本再試行のジッター値を指定します。結果は delay - jitter と delay + jitter の間の値になりますが、基本遅延を下回ったり最大遅延を超えたりすることはありません。
    文字列形式を使用して、基本再試行のジッター値を指定します。
    long
    再試行の最大遅延を指定し、ジッター乗数によって遅延が増加する範囲を制限します。
    文字列形式を使用して、再試行の最大遅延を指定します。
    double
    次回の再試行の遅延の乗数を指定します。この乗数は、初期遅延から始まり、各試行に適用されるジッターに、前回の遅延に適用されます。
    文字列形式を使用して、次回の再試行までの遅延の乗数を指定します。
    long
    delay() のエイリアス。
  • フィールドの詳細

  • 要素の詳細

    • value

      @AliasFor("delay") long value
      delay() のエイリアス。

      他の属性が不要な場合に使用することを目的としています。例: @BackOff(2000)

      戻り値:
      ミリ秒単位のベース遅延 (デフォルトの 1000L )
      デフォルト:
      1000L
    • delay

      @AliasFor("value") long delay
      最初の呼び出し後の基本遅延を指定します。

      delay のみを指定した場合、その値を間隔として持つ FixedBackOff が構成されます。

      乗数を指定した場合、これが乗算する初期遅延として機能します。

      デフォルトは 1000L ミリ秒です。

      戻り値:
      ミリ秒単位のベース遅延 (デフォルトの 1000L )
      デフォルト:
      1000L
    • delayString

      StringSE delayString
      初期呼び出し後の基本遅延を文字列形式で指定します。これを指定すると、delay() よりも優先されます。

      遅延文字列にはいくつかの形式があります。

      • 単純な long 型で、ミリ秒単位の期間を表すと解釈されます。
      • 既知の DurationFormat.Style のいずれか: ISO8601 スタイルまたは SIMPLE スタイル - 文字列に明示的な単位が含まれていない場合は、ミリ秒をフォールバックとして使用します
      • 環境から example.property を使用するための ${example.property} や #{example.property} などの正規表現
      戻り値:
      文字列値としての遅延(プレースホルダなど)
      関連事項:
      デフォルト:
      ""
    • maxDelay

      long maxDelay
      再試行の最大遅延を指定し、ジッター乗数によって遅延が増加する範囲を制限します。

      delay() のみが設定されている場合は無視されます。それ以外の場合は、指定された最大遅延の ExponentialBackOff または設定されていない場合は無制限の遅延になります。

      戻り値:
      最大遅延
      デフォルト:
      0L
    • maxDelayString

      StringSE maxDelayString
      再試行の最大遅延時間を文字列形式で指定します。この値を指定した場合、maxDelay() よりも優先されます。

      最大遅延文字列はいくつかの形式で表すことができます。

      • 単純な long 型で、ミリ秒単位の期間を表すと解釈されます。
      • 既知の DurationFormat.Style のいずれか: ISO8601 スタイルまたは SIMPLE スタイル - 文字列に明示的な単位が含まれていない場合は、ミリ秒をフォールバックとして使用します
      • 環境から example.property を使用するための ${example.property} や #{example.property} などの正規表現
      戻り値:
      最大遅延を文字列値で指定します(例: プレースホルダ)
      関連事項:
      デフォルト:
      ""
    • multiplier

      double multiplier
      次回の再試行の遅延の乗数を指定します。この乗数は、初期遅延から始まり、各試行に適用されるジッターに、前回の遅延に適用されます。

      delay() のみが設定されている場合は無視され、それ以外の場合は指定された乗数を持つ ExponentialBackOff または設定されていない場合は 1.0 になります。

      戻り値:
      各試行ごとに現在の間隔に掛ける値
      デフォルト:
      0.0
    • multiplierString

      StringSE multiplierString
      次回の再試行までの遅延時間を文字列形式で指定します。この値を指定した場合、multiplier() よりも優先されます。

      乗数文字列にはいくつかの形式があります。

      • プレーンダブル
      • 環境から example.property を使用するための ${example.property} や #{example.property} などの正規表現
      戻り値:
      各試行ごとに現在の間隔に掛ける値(プレースホルダなど)
      関連事項:
      デフォルト:
      ""
    • jitter

      long jitter
      計算された遅延に対してランダムに減算または加算される基本再試行のジッター値を指定します。結果は delay - jitter と delay + jitter の間の値になりますが、基本遅延を下回ったり最大遅延を超えたりすることはありません。

      乗数を指定した場合、ジッター値にも適用されます。

      delay() のみが設定されている場合は無視され、それ以外の場合は指定されたジッタを持つ ExponentialBackOff または設定されていない場合はジッタなしになります。

      戻り値:
      ジッター値(ミリ秒)
      関連事項:
      デフォルト:
      0L
    • jitterString

      StringSE jitterString
      基本再試行のジッター値を文字列形式で指定します。これを指定すると、jitter() よりも優先されます。

      ジッタ文字列にはいくつかの形式があります。

      • 単純な long 型で、ミリ秒単位の期間を表すと解釈されます。
      • 既知の DurationFormat.Style のいずれか: ISO8601 スタイルまたは SIMPLE スタイル - 文字列に明示的な単位が含まれていない場合は、ミリ秒をフォールバックとして使用します
      • 環境から example.property を使用するための ${example.property} や #{example.property} などの正規表現
      戻り値:
      ジッタを文字列値として表す(たとえばプレースホルダ)
      関連事項:
      デフォルト:
      ""