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


BackOffPolicy のメタデータを収集します。機能:
  • 明示的な設定がない場合、デフォルトは 1000ms の固定遅延です。
  • delay() セットのみ: バックオフはその値で固定された遅延です
  • delay()maxDelay() が設定されている場合、バックオフは 2 つの値の間で均一に分散されます。
  • delay()maxDelay()multiplier() ではバックオフは最大値まで指数関数的に増加します。
  • さらに、random() フラグが設定されている場合、各遅延の乗数は [1、乗数 -1] の均一分布から選択されます。
導入:
1.1
作成者:
Dave Syer, Gary Russell, Aftab Shaikh
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    long
    標準的なバックオフ期間。
    標準的なバックオフ期間を評価する式。
    long
    再試行間の最大待機時間 (ミリ秒単位)。
    再試行間の最大待機時間 (ミリ秒単位) を評価する式。
    double
    1.0 より大きい場合は、バックオフの次の遅延を生成するための乗数として使用されます。1.0 以下の値は、固定遅延を意味する 1.0 として扱われます。
    バックオフの次の遅延を生成するための乗数として使用される値を評価します。1.0 以下の値は 1.0 として扱われ、固定遅延を意味します。
    boolean
    指数関数の場合 (multiplier() > 1.0)、これを true に設定すると、バックオフ遅延がジッタによってランダム化され、最大遅延が前の遅延の乗数倍になり、2 つの値の間での分布が均一になります。
    値を評価します。
    long
    delay() のシノニム。
  • 要素の詳細

    • value

      @AliasFor("delay") long value
      delay() のシノニム。delay() がゼロ以外の場合、この要素の値は無視され、それ以外の場合はこの要素の値が取得されます。
      戻り値:
      ミリ秒単位の遅延 (デフォルト 1000)
      デフォルト:
      1000L
    • delay

      @AliasFor("value") long delay
      標準的なバックオフ期間。指数関数の場合は初期値として、一様分布の場合は最小値として使用されます。この要素の値が 0 の場合、要素 value() の値が使用され、それ以外の場合はこの要素の値が使用され、value() は無視されます。
      戻り値:
      初期または標準のバックオフ期間(ミリ秒単位) (デフォルト 1000)
      デフォルト:
      1000L
    • maxDelay

      long maxDelay
      再試行間の最大待機時間(ミリ秒単位)。delay() より短い場合は、デフォルトの 30000L が適用されます。
      戻り値:
      再試行間の最大遅延 (デフォルト 0 = 無視)
      デフォルト:
      0L
    • multiplier

      double multiplier
      1.0 より大きい場合は、バックオフの次の遅延を生成するための乗数として使用されます。1.0 以下の値は、固定遅延を意味する 1.0 として扱われます。
      戻り値:
      次のバックオフ遅延を計算するために使用する乗数 (デフォルト 0 = 無視)
      デフォルト:
      0.0
    • delayExpression

      StringSE delayExpression
      標準的なバックオフ期間を評価する式。指数関数の場合は初期値として、一様関数の場合は最小値として使用されます。delay() をオーバーライドします。初期化時の 1 回限りの評価には #{...} を使用し、実行時の評価では区切り文字を省略します。
      戻り値:
      初期または標準のバックオフ期間(ミリ秒単位)。
      導入:
      1.2
      デフォルト:
      ""
    • maxDelayExpression

      StringSE maxDelayExpression
      再試行間の最大待機時間(ミリ秒単位)を評価する式。delay() より小さい場合は、デフォルトの 30000L が適用されます。maxDelay() をオーバーライドします。初期化時の 1 回限りの評価には #{...} を使用し、実行時の評価では区切り文字を省略します。
      戻り値:
      再試行間の最大遅延 (デフォルト 0 = 無視)
      導入:
      1.2
      デフォルト:
      ""
    • multiplierExpression

      StringSE multiplierExpression
      バックオフの次の遅延を生成するための乗数として使用される値に評価されます。1.0 以下の値は 1.0 として扱われ、固定遅延を意味します。multiplier() をオーバーライドします。初期化時の 1 回限りの評価には #{...} を使用し、実行時の評価では区切り文字を省略します。
      戻り値:
      次のバックオフ遅延を計算するために使用する乗数式 (デフォルト 0 = 無視)
      導入:
      1.2
      デフォルト:
      ""
    • random

      boolean random
      指数関数の場合 (multiplier() > 1.0)、これを true に設定すると、バックオフ遅延がジッタによってランダム化され、最大遅延が前の遅延の乗数倍になり、2 つの値の間での分布が均一になります。
      戻り値:
      ランダム化を通知するフラグが必要です (デフォルトは false)
      デフォルト:
      false
    • randomExpression

      StringSE randomExpression
      値として評価されます。指数関数の場合(multiplier() > 1.0)、これを true に設定するとバックオフ遅延がランダム化され、最大遅延は前の遅延の乗数倍になり、2 つの値の間で分布が均一になります。この式は初期化中に常に評価されます。式が true を返す場合は ExponentialRandomBackOffPolicy が使用され、そうでない場合は ExponentialBackOffPolicy が使用されます。
      戻り値:
      ランダム化を通知するフラグが必要です (デフォルトは false)
      デフォルト:
      ""