沈阳建站seo检测优化
解决 feign.hystrix.enabled=true 不生效的问题
- springcloud 2020之前的版本
- springcloud 2020版本
由于springboot 版本前后 yml内容发现改变。
springcloud 2020之前的版本
下载相关源码,找到如下代码:
// 此代码位于 org.springframework.cloud.netflix.feign.FeignClientsConfiguration$HystrixFeignConfiguration
@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熔断
问题解决