首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性4j-弹簧-引导-2注释(@重试,@断路器.)完全被忽视

弹性4j-弹簧-引导-2注释(@重试,@断路器.)完全被忽视
EN

Stack Overflow用户
提问于 2020-10-08 19:22:58
回答 1查看 3.5K关注 0票数 4

我花了一整天的时间试图找出为什么这个方法不起作用,所以我认为如果我能分享这个问题和答案,可能会很有用。

Resilience4j库从Spring 2中提供了一个优雅的基于注释的解决方案,您所需要做的就是用所提供的注释之一注释一个方法(或一个类),例如@CircuitBreaker@Retry@RateLimiter@Bulkhead@Thread,并自动添加适当的恢复模式。

我将预期的依赖项添加到Maven pom.xml中:

代码语言:javascript
复制
<dependency>
    <groupId>io.github.resilience4j</groupId>
    <artifactId>resilience4j-spring-boot2</artifactId>
    <version>${resilience4j.version}</version>
</dependency>

现在编译器很高兴,所以我可以添加注释:

代码语言:javascript
复制
...
import org.springframework.stereotype.Service;
import io.github.resilience4j.retry.annotation.Retry;
...

@Service
public class MyService {
    ...
    @Retry(name = "get-response")
    public MyResponse getResponse(MyRequest request) {
        ...
    }
}

程序编译、运行,但是注释被完全忽略了,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-08 19:23:21

根据弹性4j-spring-引导2文档

该模块期望在运行时已经提供了spring-boot-starter-actuatorspring-boot-starter-aop

因此,整个技巧是将缺失的依赖项添加到Maven pom.xml中。

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64269326

复制
相关文章

相似问题

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