2017-10-10 7 views
3

特定の条件に基づいて再試行できますか?再試行可能で注釈を付けると、いくつかの例外に基づいて再試行されますが、例外が検出されて対応する条件が満たされた場合は再試行します。 例:それは本当であるとMyExceptionは、その後、私は、注釈に直接Spring @特定の条件のための再設定

+0

Catchブロックから異なる例外をスローする必要があります。 MyException - 再試行する場合はMyOtherException(MyException)例外を通知するが、再試行は行わず、スタックトレースを失うことはない。 – UserF40

答えて

0

を未再試行したいキャッチされた場合は、上記の要求でここ

@Retryable(value={MyException.class},maxAttempts=2) 
public myMethod(Request request){ 

    try{ 
     doSomething(); 
    } Catch(Exception ex){ 
     throw new MyException(); 
    } 

} 

、私は旗を持って、をisRetryRequired。 interceptorプロパティでカスタムの再試行ポリシーが必要になります。

+0

このフラグについてわからないので、どのように要求を傍受できますか?クライアントが送信したフラグ – user123475

+1

[documentation](https://github.com/spring-projects/spring-retry)を参照してください。 'RetryOperationsInterceptor' Beanをカスタムポリシーで作成して設定し、アノテーションのインターセプタへの参照を提供します。 –

関連する問題