Java Spring Cloud:在回滚之前重试失败的外部客户端请求

Java Spring Cloud:在回滚之前重试失败的外部客户端请求,java,spring,netflix-feign,spring-cloud-feign,spring-retry,Java,Spring,Netflix Feign,Spring Cloud Feign,Spring Retry,读了这篇文章后,目前正在研究Feign和Spring的集成,但不幸的是在我的application.yml文件中声明了以下内容 sample: ribbon: MaxAutoRetries: 2 ReadTimeout: 2000 OkToRetryOnAllOperations: true 失败的请求从未重试,但当我尝试回答这个问题时。我创建了这个配置类 @Configuration public class FeigConfig { @Bean public Ret

读了这篇文章后,目前正在研究Feign和Spring的集成,但不幸的是在我的application.yml文件中声明了以下内容

sample:
 ribbon:
  MaxAutoRetries: 2
  ReadTimeout: 2000
  OkToRetryOnAllOperations: true
失败的请求从未重试,但当我尝试回答这个问题时。我创建了这个配置类

@Configuration
public class FeigConfig {

  @Bean
  public Retryer retryer() {
    return new Retryer.Default(1000L, 1000L, 3);
  }

  @Bean
  public Logger.Level feignLoggerLevel() {
    return Logger.Level.BASIC;
  }
}
它突然起作用了。现在我只想知道

1) 为什么application.yml上的配置不起作用,或者我在设置过程中遗漏了什么,但是当我创建配置类时,它看起来还可以


2) 在重试请求的情况下,是否可以在调用回退方法之前完成所有重试调用。

您使用的是哪个版本的spring cloud?@yongsung.yoon当前正在使用Camden.sr6您是否将spring retry作为依赖项?在Camden.SR6中,它是可选的依赖项。所以你应该明确地说。