2016-08-18 14 views
2

@Retryableを追加して私の(spring boot gradle plugin)アプリケーションにリトライロジックを追加しようとしています。@RetryableがSpring-boot-gradle-pluginで動作していません

classpath(group: 'org.springframework.boot', name: 'spring-boot-starter-aop', version: '1.4.0.RELEASE') 

リトライクラス:

@Component 
@EnableRetry 
public class TestRetry { 
    @Retryable(maxAttempts = 3, backoff = @Backoff(delay = 2000)) 
    public void retryMethod() { 
     throw new RunTimeException("retry exception"); 
    } 
} 

テストロジック:

@Configuration 
@EnableRetry 
public class CallRetryClass { 
    public void callRetryMethod() { 
     TestRetry testRetry = new TestRetry(); 
     testRetry.retryMethod(); 
    } 
} 

は、クラスパスに最新のスターターAOPを追加しました:私は、これまで行ってきた何

しかし、再試行ロジックが機能していません。誰にも何か提案がありますか?

答えて

0

独自のオブジェクトを構築する代わりに、TestRetryというスプリングマネージドBeanを使用する必要があります。 CallRetryClassは次のようになります。

@Configuration 
@EnableRetry 
public class CallRetryClass { 

    @Autowired 
    private TestRetry testRetry; 

    public void callRetryMethod() { 
     testRetry.retryMethod(); 
    } 
} 
関連する問題