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


@TargetSE({METHODSE,TYPESE}) @RetentionSE(RUNTIMESE) @DocumentedSE @Retryable(stateful=true) public @interface CircuitBreaker
再試行可能なメソッド呼び出しのアノテーション。
導入:
1.2
作成者:
Dave Syer, Artem Bilan, Gary Russell
  • 要素の詳細

    • value

      @AliasFor(annotation=Retryable.class) @DeprecatedSE ClassSE<? extends ThrowableSE>[] value
      使用すべきではありません。
      retryFor() を推奨
      再試行可能な例外型。デフォルトは空です (excludes も空の場合は、すべての例外が再試行されます)。
      戻り値:
      再試行する例外の種類
      デフォルト:
      {}
    • include

      @AliasFor(annotation=Retryable.class) @DeprecatedSE ClassSE<? extends ThrowableSE>[] include
      使用すべきではありません。
      retryFor() を推奨。
      再試行可能な例外型。デフォルトは空です (excludes も空の場合は、すべての例外が再試行されます)。
      戻り値:
      再試行する例外の種類
      デフォルト:
      {}
    • retryFor

      @AliasFor(annotation=Retryable.class) ClassSE<? extends ThrowableSE>[] retryFor
      再試行可能な例外型。デフォルトは空です (noRetryFor も空の場合、すべての例外が再試行されます)。
      戻り値:
      再試行する例外の種類
      導入:
      2.0
      デフォルト:
      {}
    • exclude

      @DeprecatedSE @AliasFor(annotation=Retryable.class) ClassSE<? extends ThrowableSE>[] exclude
      使用すべきではありません。
      noRetryFor() を推奨。
      再試行できない例外型。デフォルトは空です(includes も空の場合はすべての例外が再試行されます)。includes が空で excludes が空でない場合は、除外されていないすべての例外が再試行されます。
      戻り値:
      再試行しない例外型
      デフォルト:
      {}
    • noRetryFor

      @AliasFor(annotation=Retryable.class) ClassSE<? extends ThrowableSE>[] noRetryFor
      再試行できない例外型。デフォルトは空です(retryFor も空の場合、すべての例外が再試行されます)。retryFor が空で excludes が空でない場合、他のすべての例外が再試行されます。
      戻り値:
      再試行しない例外型
      導入:
      2.0
      デフォルト:
      {}
    • notRecoverable

      @AliasFor(annotation=Retryable.class) ClassSE<? extends ThrowableSE>[] notRecoverable
      回復できない例外型。これらの例外は、回復機能を呼び出さずに呼び出し元にスローされます ( noRetryFor() の場合も直ちにスローされます)。デフォルトは空です。
      戻り値:
      再試行しない例外型
      導入:
      2.0
      デフォルト:
      {}
    • maxAttempts

      @AliasFor(annotation=Retryable.class) int maxAttempts
      戻り値:
      最大試行回数(最初の失敗を含む)、デフォルトは 3
      デフォルト:
      3
    • maxAttemptsExpression

      @AliasFor(annotation=Retryable.class) StringSE maxAttemptsExpression
      戻り値:
      最大試行回数(最初の失敗を含む)まで評価された式。デフォルトは 3 です。maxAttempts() をオーバーライドします。初期化中に 1 回だけ評価する場合は #{...} を使用し、実行時の評価では区切り文字を省略します。
      導入:
      1.2.3
      デフォルト:
      ""
    • label

      @AliasFor(annotation=Retryable.class) StringSE label
      レポートと状態管理のための回路の一意のラベル。デフォルトでは、アノテーションが宣言されているメソッドシグネチャーになります。
      戻り値:
      回路のラベル
      デフォルト:
      ""
    • resetTimeout

      long resetTimeout
      回線がこのタイムアウトよりも長く開いている場合、次の呼び出しで回線がリセットされ、下流のコンポーネントに再度応答する機会が与えられます。
      戻り値:
      オープン回路がリセットされるまでのタイムアウト(ミリ秒単位)。デフォルトは 20000 です
      デフォルト:
      20000L
    • resetTimeoutExpression

      StringSE resetTimeoutExpression
      回線がこのタイムアウトよりも長く開いている場合、次の呼び出しでリセットされ、下流のコンポーネントに再度応答する機会が与えられます。resetTimeout() をオーバーライドします。初期化中の 1 回限りの評価には #{...} を使用し、実行時の評価では区切り文字を省略します。
      戻り値:
      オープン回路がリセットされる前のタイムアウト(ミリ秒単位)。デフォルトはありません。
      導入:
      1.2.3
      デフォルト:
      ""
    • openTimeout

      long openTimeout
      このタイムアウト内に maxAttempts() 障害が発生すると、回路が自動的に開かれ、下流コンポーネントへのアクセスが防止されます。
      戻り値:
      閉回路が開かれるまでのタイムアウト(ミリ秒単位)。デフォルトは 5000 です。
      デフォルト:
      5000L
    • openTimeoutExpression

      StringSE openTimeoutExpression
      このタイムアウト内に maxAttempts() 障害に達すると、回路が自動的に開かれ、下流コンポーネントへのアクセスが防止されます。openTimeout() をオーバーライドします。初期化中の 1 回限りの評価には #{...} を使用し、実行時の評価では区切り文字を省略します。
      戻り値:
      閉じた回路が開かれるまでのタイムアウト(ミリ秒単位)。デフォルトはありません。
      導入:
      1.2.3
      デフォルト:
      ""
    • exceptionExpression

      @AliasFor(annotation=Retryable.class) StringSE exceptionExpression
      SimpleRetryPolicy.canRetry() が true を返した後に評価される式を指定します。条件付きで再試行を抑制するために使用できます。例外がスローされた後にのみ呼び出されます。評価のルートオブジェクトは最後の Throwable です。コンテキスト内の他の Bean を参照できます。例:
        "message.contains('you can retry this')".
       
      および
        "@someBean.shouldRetry(#root)".
       
      戻り値:
      表現。
      導入:
      1.2.3
      デフォルト:
      ""
    • throwLastExceptionOnExhausted

      boolean throwLastExceptionOnExhausted
      再試行が失敗したときに最後の例外を ExhaustedRetryException にラップしないようにするには、true に設定します。
      戻り値:
      最後の例外を ExhaustedRetryException にラップするかどうかを示すブールフラグ
      導入:
      2.0.6
      デフォルト:
      false
    • recover

      @AliasFor(annotation=Retryable.class) StringSE recover
      回復に使用するこのクラスのメソッドの名前。メソッドは Recover アノテーションでマークされている必要があります。
      戻り値:
      回復方法の名前
      導入:
      2.0.9
      デフォルト:
      ""