public class SqlRetryPolicy extends ObjectSE implements org.springframework.retry.RetryPolicy
RetryPolicy
実装。通常、これは JDBC(1.6)例外階層および Spring DataAccessException
階層内のよく知られた例外です。これに加えて、このクラスはデータベースの接続に関連する永続的な例外も試行します。これは、永続的なエラーが発生した場合でも Amazon RDS データベースインスタンスが再試行可能である可能性があるため便利です。これは通常、ソースインスタンスが使用できない可能性があるマスター a/z フェイルオーバーの場合ですが、DNS レコードがフェイルオーバーインスタンスに更新されているため、2 回目の試行が成功する可能性があります。SimpleRetryPolicy
とは対照的に、このクラスは、再試行可能な実装がある場合、例外の原因も再帰的にチェックします。
コンストラクターと説明 |
---|
SqlRetryPolicy() |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canRetry(org.springframework.retry.RetryContext context) このメソッドが RetryContext に基づいて再試行可能かどうかを返します。 |
void | close(org.springframework.retry.RetryContext context) |
org.springframework.retry.RetryContext | open(org.springframework.retry.RetryContext parent) |
void | registerThrowable(org.springframework.retry.RetryContext context, ThrowableSE throwable) |
void | setMaxNumberOfRetries(int maxNumberOfRetries) 再試行の最大数を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public boolean canRetry(org.springframework.retry.RetryContext context)
RetryContext
に基づいて再試行可能かどうかを返します。Throwable が登録されていない場合、このメソッドはそれ以上の条件をチェックせずに true
を返します。Throwable が登録されている場合、このクラスは、登録されている Throwable が SQL 例外のコンテキストで再試行可能な例外であるかどうかを確認します。成功しなかった場合、このクラスは、ネストされた再試行可能な例外が使用可能かどうかの原因もチェックします。 例外をチェックする前に、このクラスは現在の再試行回数(RetryContext.getRetryCount()
を介してフェッチされたものが maxNumberOfRetries
以下であることを確認します)
org.springframework.retry.RetryPolicy
の canRetry
context
- - 再試行可能な操作に関する情報を保持する再試行コンテキスト (再試行の回数、もしあればスロー可能)true
。public org.springframework.retry.RetryContext open(org.springframework.retry.RetryContext parent)
org.springframework.retry.RetryPolicy
の open
public void close(org.springframework.retry.RetryContext context)
org.springframework.retry.RetryPolicy
の close
public void registerThrowable(org.springframework.retry.RetryContext context, ThrowableSE throwable)
org.springframework.retry.RetryPolicy
の registerThrowable
public void setMaxNumberOfRetries(int maxNumberOfRetries)
注 : この値を大きな数値に増やすのではなく、再試行の間に十分な時間が残っていることを確認する BackOffPolicy
の使用を検討してください。バックオフポリシーにより、再試行操作の間に遅延が発生します。
maxNumberOfRetries
- - 再試行の最大数は正の数である必要があります。そうでない場合、すべての再試行は失敗します。Copyright © 2021 Pivotal Software, Inc.. All rights reserved.