首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Retryable在Spring-boot-gradle-plugin上不起作用

@Retryable在Spring-boot-gradle-plugin上不起作用
EN

Stack Overflow用户
提问于 2016-08-18 14:18:01
回答 1查看 1K关注 0票数 2

我正在尝试通过添加@Retryable在我的(spring boot gradle plugin)应用程序中添加重试逻辑。

到目前为止,我所做的是:

在类路径中添加最新的starter aop:

代码语言:javascript
复制
classpath(group: 'org.springframework.boot', name: 'spring-boot-starter-aop', version: '1.4.0.RELEASE')

重试类:

代码语言:javascript
复制
@Component
@EnableRetry
public class TestRetry {
    @Retryable(maxAttempts = 3, backoff = @Backoff(delay = 2000))
    public void retryMethod() {
        throw new RunTimeException("retry exception");
    }
}

测试逻辑:

代码语言:javascript
复制
@Configuration
@EnableRetry
public class CallRetryClass {
    public void callRetryMethod() {
        TestRetry testRetry = new TestRetry();
        testRetry.retryMethod();
    }
}

但是重试逻辑不起作用。有人有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-14 20:18:47

您需要使用TestRetry的spring托管bean,而不是构造您自己的对象。CallRetryClass应该如下所示:

代码语言:javascript
复制
@Configuration
@EnableRetry
public class CallRetryClass {

    @Autowired
    private TestRetry testRetry;

    public void callRetryMethod() {
        testRetry.retryMethod();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39011115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档