解决 feign.hystrix.enabled=true 不生效的问题
- springcloud 2020之前的版本
- springcloud 2020版本
由于springboot 版本前后 yml内容发现改变。
springcloud 2020之前的版本
下载相关源码,找到如下代码:
@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();
}
}
可以看到,开启 HystrixFeign 的条件有2个:
@ConditionalOnClass({ HystrixCommand.class, HystrixFeign.class })
@ConditionalOnProperty(name = “feign.hystrix.enabled”, matchIfMissing = false)
第二项似乎哪里除了问题导致 HystrixFeign 没有启用。
解决办法也很简单,在自己的项目中手动开启即可:
@Configuration
public class SybnHystrixFeignConfiguration {
@Bean
@Scope("prototype")
public Feign.Builder feignHystrixBuilder() {
return Feign.builder();
}
}
不必非要使用 feign.hystrix.enabled=true
springcloud 2020版本
发现里面压根就没有 上列配置,直接使用下列配置
在Feign中开启 hystrix熔断
问题解决
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)