クラス StatefulRetryOperationsInterceptor
java.lang.ObjectSE
org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor
- 実装されているすべてのインターフェース:
org.aopalliance.aop.Advice、org.aopalliance.intercept.Interceptor、org.aopalliance.intercept.MethodInterceptor
public class StatefulRetryOperationsInterceptor
extends ObjectSE
implements org.aopalliance.intercept.MethodInterceptor
サービス上のメソッドの呼び出しが失敗した場合に、その呼び出しを自動的に再試行するために使用できる
MethodInterceptor。サービスメソッドへの引数は、呼び出しが失敗した場合に備えて記憶される項目として扱われます。再試行操作はステートフルであり、失敗した項目は再試行が完了するまで ( MethodArgumentsKeyGenerator 経由) 一意のキーによって追跡され、再試行が完了する時点で MethodInvocationRecoverer が呼び出されます。この主な使用例は、インターセプターチェーン上のトランザクションインターセプターを介してサービスがトランザクションである場合です。この場合、再試行 (および完了時の回復) は常に新しいトランザクションで行われます。挿入された RetryOperations は、再試行回数を制御するために使用されます。デフォルトでは、RetryTemplate のデフォルトに従って、固定回数再試行されます。- 作成者:
- Dave Syer, Gary Russell
コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明invoke(org.aopalliance.intercept.MethodInvocation invocation) 提供されたポリシーとその他のヘルパーを使用して、メソッド呼び出しをステートフル再試行でラップします。voidsetKeyGenerator(MethodArgumentsKeyGenerator keyGenerator) voidvoidsetNewItemIdentifier(NewMethodArgumentsIdentifier newMethodArgumentsIdentifier) NewMethodArgumentsIdentifierのパブリック setter。voidsetRecoverer(MethodInvocationRecoverer<?> recoverer) 再試行が失敗した場合にMethodInvocationRecovererが使用するパブリック setter。voidsetRetryOperations(RetryOperations retryTemplate) voidsetRollbackClassifier(Classifier<? super ThrowableSE, BooleanSE> rollbackClassifier) 再試行状態のロールバック分類子。voidsetUseRawKey(boolean useRawKey) キージェネレーターによって生成された生のキーを使用するには、true に設定します。
コンストラクターの詳細
StatefulRetryOperationsInterceptor
public StatefulRetryOperationsInterceptor()
メソッドの詳細
setRetryOperations
setRecoverer
再試行が失敗した場合にMethodInvocationRecovererが使用するパブリック setter。リカバリの場合、その戻り値が呼び出し元への戻りに使用されるため、リカバリはターゲットオブジェクトと同じ型のオブジェクトを返すことができる必要があります。- パラメーター:
recoverer- 設定するMethodInvocationRecoverer
setRollbackClassifier
再試行状態のロールバック分類子。デフォルトは null (すべてロールバックを意味します)。- パラメーター:
rollbackClassifier- 設定する rollbackClassifier
setKeyGenerator
setLabel
setNewItemIdentifier
NewMethodArgumentsIdentifierのパブリック setter。インターセプトされたメソッドへの引数が以前に処理されたことがないかどうかをインスペクションできる場合にのみ、これを設定します。- パラメーター:
newMethodArgumentsIdentifier- 設定するNewMethodArgumentsIdentifier
setUseRawKey
public void setUseRawKey(boolean useRawKey) キージェネレーターによって生成された生のキーを使用するには、true に設定します。キーが常に一意であることが保証されている場合にのみ、true に設定する必要があります。false の場合、呼び出しメタデータを含む複合キーが使用されます。デフォルト: false。- パラメーター:
useRawKey- useRawKey を設定します。
invoke
提供されたポリシーとその他のヘルパーを使用して、メソッド呼び出しをステートフル再試行でラップします。失敗があった場合、例外は通常再スローされます。再スローされないのは、再試行が使い果たされ、リカバリパスが取られた場合のみです (ただし、MethodInvocationRecovererがある場合はそれが使用されます)。その場合、メソッド呼び出しから返される値は、リカバリによって返される値になります (そのため、その戻り値の型は、インターセプトされたメソッドと同じである必要があります)。- 次で指定:
- インターフェース
org.aopalliance.intercept.MethodInterceptorのinvoke - 例外:
ThrowableSE- 関連事項:
MethodInterceptor.invoke(org.aopalliance.intercept.MethodInvocation)MethodInvocationRecoverer.recover(Object[], Throwable)