最近在照着網上的貼子做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生效。