java.lang.ObjectSE
org.springframework.retry.policy.SimpleRetryPolicy
- 実装済みのインターフェース一覧:
SerializableSE,RetryPolicy
- 既知の直属サブクラス
ExpressionRetryPolicy
名前付き例外 (およびサブクラス) のセットに対して固定回数再試行する単純な再試行ポリシー。試行回数には最初の試行も含まれます。たとえば
retryTemplate = new RetryTemplate(new SimpleRetryPolicy(3)); retryTemplate.execute(callback);コールバックは少なくとも 1 回、最大 3 回実行されます。
バージョン 1.3 以降では、このクラスを使用する必要はありません。同じ動作は、内部に MaxAttemptsRetryPolicy と BinaryExceptionClassifierRetryPolicy を含む CompositeRetryPolicy を構築することで実現できます。これは実際には次のように実行されます。
RetryTemplate.builder()
.maxAttempts(3)
.retryOn(Exception.class)
.build();
または RetryTemplate.defaultInstance()- 作成者:
- Dave Syer, Rob Harrop, Gary Russell, Aleksandr Shamukov, Artem Bilan, Emanuele Ivaldi
- 関連事項:
フィールド概要
フィールドインターフェース org.springframework.retry.RetryPolicy から継承されたフィールド
NO_MAXIMUM_ATTEMPTS_SETコンストラクター概要
コンストラクターコンストラクター説明デフォルトの再試行回数でSimpleRetryPolicyを作成し、すべての例外を再試行します。SimpleRetryPolicy(int maxAttempts) 指定された再試行回数でSimpleRetryPolicyを作成し、すべての例外を再試行します。SimpleRetryPolicy(int maxAttempts, MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptions) 指定された再試行回数でSimpleRetryPolicyを作成します。SimpleRetryPolicy(int maxAttempts, MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptions, boolean traverseCauses) 指定された再試行回数でSimpleRetryPolicyを作成します。SimpleRetryPolicy(int maxAttempts, MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptions, boolean traverseCauses, boolean defaultValue) 指定された再試行回数でSimpleRetryPolicyを作成します。SimpleRetryPolicy(int maxAttempts, BinaryExceptionClassifier classifier) 指定された再試行回数と提供された例外分類子を使用してSimpleRetryPolicyを作成します。方法の概要
修飾子と型メソッド説明booleancanRetry(RetryContext context) ステータスに基づいて再試行可能な操作をテストします。voidclose(RetryContext status) int失敗するまでの最大試行回数。voidmaxAttemptsSupplier(SupplierSE<IntegerSE> maxAttemptsSupplier) 再試行回数が尽きるまでの試行回数を指定します。open(RetryContext parent) このポリシーに従って現在の操作を追跡するために使用できるステータスオブジェクトを取得します。voidregisterThrowable(RetryContext context, ThrowableSE throwable) 別の再試行と最新の例外でステータスを更新します。voidsetMaxAttempts(int maxAttempts) 再試行回数が尽きるまでの試行回数を設定します。voidsetNotRecoverable(ClassSE<? extends ThrowableSE>... noRecovery) リカバーラー(存在する場合)に渡されず、すぐにスローされるスロー可能オブジェクトを構成します。toString()
フィールドの詳細
DEFAULT_MAX_ATTEMPTS
public static final int DEFAULT_MAX_ATTEMPTS新しいポリシーの試行回数のデフォルトの制限。- 関連事項:
コンストラクターの詳細
SimpleRetryPolicy
public SimpleRetryPolicy()デフォルトの再試行回数でSimpleRetryPolicyを作成し、すべての例外を再試行します。SimpleRetryPolicy
public SimpleRetryPolicy(int maxAttempts) 指定された再試行回数でSimpleRetryPolicyを作成し、すべての例外を再試行します。- パラメーター:
maxAttempts- 最大試行回数
SimpleRetryPolicy
public SimpleRetryPolicy(int maxAttempts, MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptions) 指定された再試行回数でSimpleRetryPolicyを作成します。- パラメーター:
maxAttempts- 最大試行回数retryableExceptions- 再試行可能な例外のマップ
SimpleRetryPolicy
public SimpleRetryPolicy(int maxAttempts, MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptions, boolean traverseCauses) 指定された再試行回数でSimpleRetryPolicyを作成します。traverseCauses が true の場合、一致するか根本原因が見つかるまで例外原因が調べられます。- パラメーター:
maxAttempts- 最大試行回数retryableExceptions- マップ値 (true/false) に基づいて再試行可能な例外のマップ。traverseCauses- 分類された例外が見つかるか、根本原因に到達するまで、例外原因 チェーンを走査する場合は true です。
SimpleRetryPolicy
public SimpleRetryPolicy(int maxAttempts, MapSE<ClassSE<? extends ThrowableSE>, BooleanSE> retryableExceptions, boolean traverseCauses, boolean defaultValue) 指定された再試行回数でSimpleRetryPolicyを作成します。traverseCauses が true の場合、一致するか根本原因が見つかるまで例外原因が調べられます。デフォルト値は、マップ内に見つからない例外 (またはそのスーパークラス) を再試行するかどうかを示します。- パラメーター:
maxAttempts- 最大試行回数retryableExceptions- マップ値 (true/false) に基づいて再試行可能な例外のマップ。traverseCauses- 分類された例外が見つかるか、根本原因に到達するまで、例外原因 チェーンを走査する場合は true です。defaultValue- デフォルトのアクション。
SimpleRetryPolicy
指定された再試行回数と提供された例外分類子を使用してSimpleRetryPolicyを作成します。- パラメーター:
maxAttempts- 最大試行回数classifier- カスタム例外分類子
方法の詳細
setMaxAttempts
public void setMaxAttempts(int maxAttempts) 再試行が完了するまでの試行回数を設定します。再試行開始前の最初の試行も含まれるため、通常は>= 1になります。たとえば、このプロパティを 3 に設定すると、合計 3 回の試行 (最初の試行 + 2 回の再試行) が行われます。- パラメーター:
maxAttempts- 最初の試行を含む最大試行回数。
setNotRecoverable
リカバーラー(存在する場合)に渡されず、すぐにスローされるスロー可能オブジェクトを構成します。- パラメーター:
noRecovery- 投げ物。- 導入:
- 3.0
maxAttemptsSupplier
再試行回数のサプライヤーを設定します。再試行開始前の最初の試行も含まれるため、通常は>= 1になります。たとえば、このプロパティを 3 に設定すると、合計 3 回の試行 (最初の試行 + 2 回の再試行) が行われます。重要: 最大試行回数サプライヤーが指定されている場合、このポリシーは直列化できません。このポリシーをCircuitBreakerコンテキストで使用する場合、分散キャッシュによって直列化が使用されることがあります。- パラメーター:
maxAttemptsSupplier- 最初の試行を含む最大試行回数。- 導入:
- 2.0
getMaxAttempts
public int getMaxAttempts()失敗するまでの最大試行回数。- 次で指定:
- インターフェース
RetryPolicy内のgetMaxAttempts - 戻り値:
- 最大試行回数
canRetry
ステータスに基づいて再試行可能な操作をテストします。- 次で指定:
- インターフェース
RetryPolicy内のcanRetry - パラメーター:
context- 現在の再試行ステータス- 戻り値:
- 最後の例外が再試行可能であり、これまでの試行回数が制限未満である場合は true です。
- 関連事項:
close
- 次で指定:
- インターフェース
RetryPolicy内のclose - パラメーター:
status- このポリシーのRetryPolicy.open(RetryContext)メソッドによって作成された再試行ステータス。- 関連事項:
registerThrowable
別の再試行と最新の例外でステータスを更新します。- 次で指定:
- インターフェース
RetryPolicy内のregisterThrowable - パラメーター:
context- 現在のステータスオブジェクト。throwable- スローする例外- 関連事項:
open
このポリシーに従って現在の操作を追跡するために使用できるステータスオブジェクトを取得します。最新の例外と試行回数に注意する必要があります。- 次で指定:
- インターフェース
RetryPolicy内のopen - パラメーター:
parent- ネストされた再試行の場合は親コンテキスト。- 戻り値:
- このポリシーに固有の
RetryContextオブジェクト。 - 関連事項:
toString