我正在使用Resilience4j@Retry与@CircuitBreaker结合使用。 我在 SpringBoot 2 中使用注释,我的配置在application.yml中。 我在@Retry注释中有一个回退方法,但在@CircuitBreaker中没有(这是使它们协同工作的方法,因为根据我的发现,方面顺序(。
使用我在 application.yml 中的配置,@CircuitBreaker工作正常。 重试也可以工作,但仅使用默认配置值,并且不反映application.yml中的值(例如:maxTry 是 3 而不是 5(。
知道我在这里可能做错了什么吗?
在代码中:
@CircuitBreaker(name = "myService")
@Retry(name = "myService", fallbackMethod="myServiceFallback")
public HttpEntity myService(final String url) throws MyException{
//My logic
}
application.yml 中的配置
整理出来。
我正在使用 配置中的max尝试次数,如下所述: https://resilience4j.readme.io/docs/retry
其中正确的配置名称是maxRetryTry TryTry,如下所示: https://github.com/resilience4j/resilience4j-spring-boot2-demo/blob/master/src/main/resources/application.yml
resilience4j.retry:
configs:
default:
maxRetryAttempts: 3
waitDuration: 100
...