1. 程式人生 > >spring cloud,用feign客戶端呼叫服務hystrix不能生效的問題

spring cloud,用feign客戶端呼叫服務hystrix不能生效的問題

最近在照著網上的貼子做spring cloud ,用feign客戶端呼叫 服務時發現hystrix不起作用,當時我的配置檔案是application.yml,當配置

feign:
  hystrix:
    enabled: true

idea提示unknow property,網上查了好多文章都是清一色這麼配置,後來發現都是一些人抄襲別人的文章,沒有經過測試直接寫在自己的部落格裡,美其名約原創,害人害已。

後來查詢到原始碼

org.springframework.cloud.netflix.feign包下的FeignClientsConfiguration.class

裡面

@Configuration
 @ConditionalOnClass({ HystrixCommand.class, HystrixFeign.class })
 protected static class HystrixFeignConfiguration {
  @Bean
  @Scope("prototype")
  @ConditionalOnMissingBean
  @ConditionalOnProperty

(name = "feign.hystrix.enabled", matchIfMissing = false)
  public Feign.Builder feignHystrixBuilder() {
   return HystrixFeign.builder();
  }
 }

發現這個註解與其它的不一樣,其它註解用的是@Conditional,所以覺的只能配置在application.property

所以又建立了個application.property檔案直接配置

feign.hystrix.enabled=true

啟動程式,經測試hystrix生效。