如何使用 Openfeign 配置功能区以管理重试 - Spring?

How to configure Ribbon with Openfeign to manage retries - Spring?

我想管理重试。我有openfeign客户端,两个微服务。怎么做?当我在我的 yaml 配置中设置时:

foo:
    ribbon:
        MaxAutoRetries:5

没用。在我的 pom.xml 中是 Spring Cloud Greenwich RELEASE,spring-retry 和 open-feign 依赖项。我不使用任何服务发现。

我在 feign 方法中添加了注释:@FeignClient(name="foo", url="...") 和 @RibbonClient(name="foo")。

我在启动应用程序后和执行 http 假请求时没有看到任何功能区日志。应该在两个微服务上配置功能区吗?

您可以为 Retryer 的 feign 创建一个 Configuration 并设置您想要的值:

import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class FeignClientConfig {

    @Bean
    public Retryer retryer() {
         //  Default(long period, long maxPeriod, int maxAttempts)                       
        return new Retryer.Default(1, 100, 3);
    }
}