クラス StatefulRetryOperationsInterceptor

java.lang.ObjectSE
org.springframework.retry.interceptor.StatefulRetryOperationsInterceptor
実装されているすべてのインターフェース:
org.aopalliance.aop.Adviceorg.aopalliance.intercept.Interceptororg.aopalliance.intercept.MethodInterceptor

public class StatefulRetryOperationsInterceptor extends ObjectSE implements org.aopalliance.intercept.MethodInterceptor
サービス上のメソッドの呼び出しが失敗した場合に、その呼び出しを自動的に再試行するために使用できる MethodInterceptor。サービスメソッドへの引数は、呼び出しが失敗した場合に備えて記憶される項目として扱われます。再試行操作はステートフルであり、失敗した項目は再試行が完了するまで ( MethodArgumentsKeyGenerator 経由) 一意のキーによって追跡され、再試行が完了する時点で MethodInvocationRecoverer が呼び出されます。この主な使用例は、インターセプターチェーン上のトランザクションインターセプターを介してサービスがトランザクションである場合です。この場合、再試行 (および完了時の回復) は常に新しいトランザクションで行われます。挿入された RetryOperations は、再試行回数を制御するために使用されます。デフォルトでは、RetryTemplate のデフォルトに従って、固定回数再試行されます。
作成者:
Dave Syer, Gary Russell
  • コンストラクターの詳細

    • StatefulRetryOperationsInterceptor

      public StatefulRetryOperationsInterceptor()
  • メソッドの詳細

    • setRetryOperations

      public void setRetryOperations(RetryOperations retryTemplate)
    • setRecoverer

      public void setRecoverer(MethodInvocationRecoverer<?> recoverer)
      再試行が失敗した場合に MethodInvocationRecoverer が使用するパブリック setter。リカバリの場合、その戻り値が呼び出し元への戻りに使用されるため、リカバリはターゲットオブジェクトと同じ型のオブジェクトを返すことができる必要があります。
      パラメーター:
      recoverer - 設定する MethodInvocationRecoverer
    • setRollbackClassifier

      public void setRollbackClassifier(Classifier<? super ThrowableSE,BooleanSE> rollbackClassifier)
      再試行状態のロールバック分類子。デフォルトは null (すべてロールバックを意味します)。
      パラメーター:
      rollbackClassifier - 設定する rollbackClassifier
    • setKeyGenerator

      public void setKeyGenerator(MethodArgumentsKeyGenerator keyGenerator)
    • setLabel

      public void setLabel(StringSE label)
    • setNewItemIdentifier

      public void setNewItemIdentifier(NewMethodArgumentsIdentifier newMethodArgumentsIdentifier)
      NewMethodArgumentsIdentifier のパブリック setter。インターセプトされたメソッドへの引数が以前に処理されたことがないかどうかをインスペクションできる場合にのみ、これを設定します。
      パラメーター:
      newMethodArgumentsIdentifier - 設定する NewMethodArgumentsIdentifier
    • setUseRawKey

      public void setUseRawKey(boolean useRawKey)
      キージェネレーターによって生成された生のキーを使用するには、true に設定します。キーが常に一意であることが保証されている場合にのみ、true に設定する必要があります。false の場合、呼び出しメタデータを含む複合キーが使用されます。デフォルト: false。
      パラメーター:
      useRawKey - useRawKey を設定します。
    • invoke

      public ObjectSE invoke(org.aopalliance.intercept.MethodInvocation invocation) throws ThrowableSE
      提供されたポリシーとその他のヘルパーを使用して、メソッド呼び出しをステートフル再試行でラップします。失敗があった場合、例外は通常再スローされます。再スローされないのは、再試行が使い果たされ、リカバリパスが取られた場合のみです (ただし、MethodInvocationRecoverer がある場合はそれが使用されます)。その場合、メソッド呼び出しから返される値は、リカバリによって返される値になります (そのため、その戻り値の型は、インターセプトされたメソッドと同じである必要があります)。
      次で指定:
      インターフェース org.aopalliance.intercept.MethodInterceptorinvoke 
      例外:
      ThrowableSE
      関連事項: