アノテーションインターフェース Retryable
再試行可能なメソッド呼び出しのアノテーション。
- 導入:
- 1.1
- 作成者:
- Dave Syer, Artem Bilan, Gary Russell, Maksim Kita, Roman Akentev
オプション要素の概要
オプション要素修飾子と型オプションの要素説明この操作を再試行するためのバックオフプロパティを指定します。SimpleRetryPolicy.canRetry()
が true を返した後に評価される式を指定します。条件付きで再試行を抑制するために使用できます。ClassSE<? extends ThrowableSE>[]
使用すべきではありません。ClassSE<? extends ThrowableSE>[]
使用すべきではありません。retryFor()
を推奨。再試行可能なメソッドに適用される再試行インターセプター Bean 名。統計レポート用の一意のラベル。StringSE[]
Spring コンテキストで定義されたデフォルトのリスナーの代わりに使用する再試行リスナーの Bean 名。int
ClassSE<? extends ThrowableSE>[]
再試行できない例外型。ClassSE<? extends ThrowableSE>[]
回復できない例外型。これらの例外は、回復機能を呼び出さずに呼び出し元にスローされます (noRetryFor()
の場合も直ちにスローされます)。回復に使用するこのクラスのメソッドの名前。ClassSE<? extends ThrowableSE>[]
再試行可能な例外型。boolean
再試行がステートフルであることを示すフラグ。つまり、例外は再スローされますが、再試行ポリシーは同じ引数を持つ後続の呼び出しに同じポリシーで適用されます。ClassSE<? extends ThrowableSE>[]
使用すべきではありません。retryFor()
を推奨
要素の詳細
recover
StringSE recover回復に使用するこのクラスのメソッドの名前。メソッドはRecover
アノテーションでマークされている必要があります。- 戻り値:
- 回復方法の名前
- デフォルト:
- ""
interceptor
StringSE interceptor再試行可能なメソッドに適用される再試行インターセプター Bean 名。他の属性とは相互に排他的です。- 戻り値:
- 再試行インターセプター Bean 名
- デフォルト:
- ""
value
使用すべきではありません。retryFor()
を推奨再試行可能な例外型。デフォルトは空です (exclude も空の場合は、すべての例外が再試行されます)。- 戻り値:
- 再試行する例外の種類
- デフォルト:
- {}
include
使用すべきではありません。retryFor()
を推奨。再試行可能な例外型。デフォルトは空です (exclude も空の場合、すべての例外が再試行されます)。- 戻り値:
- 再試行する例外の種類
- デフォルト:
- {}
retryFor
再試行可能な例外型。デフォルトは空です (noRetryFor も空の場合、すべての例外が再試行されます)。- 戻り値:
- 再試行する例外の種類
- 導入:
- 2.0
- デフォルト:
- {}
exclude
使用すべきではありません。noRetryFor()
を推奨。再試行できない例外型。デフォルトは空です(include も空の場合はすべての例外が再試行されます)。includes が空で exclude が空でない場合は、除外されていないすべての例外が再試行されます。- 戻り値:
- 再試行しない例外型
- デフォルト:
- {}
noRetryFor
再試行できない例外型。デフォルトは空です(retryFor も空の場合、すべての例外が再試行されます)。retryFor が空で noRetryFor が空でない場合、他のすべての例外が再試行されます。- 戻り値:
- 再試行しない例外型
- 導入:
- 2.0
- デフォルト:
- {}
notRecoverable
ClassSE<? extends ThrowableSE>[] notRecoverable回復できない例外型。これらの例外は、回復機能を呼び出さずに呼び出し元にスローされます (noRetryFor()
の場合も直ちにスローされます)。デフォルトは空です。- 戻り値:
- 再試行しない例外型
- 導入:
- 2.0
- デフォルト:
- {}
label
StringSE label統計レポート用の一意のラベル。指定されていない場合は、呼び出し元はこれを無視するか、デフォルトを指定することができます。- 戻り値:
- 統計のラベル
- デフォルト:
- ""
stateful
boolean stateful再試行がステートフルであることを示すフラグ。つまり、例外は再スローされますが、再試行ポリシーは同じ引数を持つ後続の呼び出しに同じポリシーで適用されます。false の場合、再試行可能な例外は再スローされません。- 戻り値:
- 再試行がステートフルの場合は true、デフォルトは false
- デフォルト:
- false
maxAttempts
int maxAttempts- 戻り値:
- 最大試行回数(最初の失敗を含む)、デフォルトは 3
- デフォルト:
- 3
maxAttemptsExpression
StringSE maxAttemptsExpression- 戻り値:
- 最大試行回数(最初の失敗を含む)まで評価された式。デフォルトは 3 です。
maxAttempts()
をオーバーライドします。初期化中に 1 回だけ評価する場合は#{...}
を使用し、実行時の評価では区切り文字を省略します。 - 導入:
- 1.2
- デフォルト:
- ""
backoff
Backoff backoffこの操作を再試行するためのバックオフプロパティを指定します。デフォルトは、プロパティのない単純なBackoff
仕様です。デフォルトについては、そのドキュメントを参照してください。- 戻り値:
- バックオフ仕様
- デフォルト:
- @org.springframework.retry.annotation.Backoff
exceptionExpression
StringSE exceptionExpressionSimpleRetryPolicy.canRetry()
が true を返した後に評価される式を指定します。条件付きで再試行を抑制するために使用できます。例外がスローされた後にのみ呼び出されます。評価のルートオブジェクトは最後のThrowable
です。コンテキスト内の他の Bean を参照できます。例:"message.contains('you can retry this')"
."@someBean.shouldRetry(#root)"
.- 戻り値:
- 表現。
- 導入:
- 1.2
- デフォルト:
- ""
listeners
StringSE[] listenersBean は、Spring コンテキストで定義されたデフォルトのリスナーの代わりに使用する再試行リスナーの名前です。この属性が空の文字列""
に設定されている場合、デフォルトのリスナー Bean を含むすべての再試行リスナーが実質的に使用から除外されます。- 戻り値:
- 再試行リスナー Bean 名
- デフォルト:
- {}
noRetryFor()
を推奨。