Spring Cloud使用feign遇到的一些问题, 版本:SpringBoot 1.5.17.RELEASE, Spring Cloud Edgware.SR4
Feign$Builder
这类问题网上有很多解决方案:
这些解决方案我都尝试并检查,消耗了一天的时间都没有解决,如果不行尝试我这种方案:
最终是要了同事(正常)的maven本地仓库,才能正常启动,说到底还是自己仓库出了问题。
或者是仓库重新下载,不过我觉得大家应该是反对的吧。
hystrix失效
高高兴兴解决启动问题,紧接着就带来了feign的熔断不能使用问题,这就又开始了网上百度一大篇的旅程了!
1、错误配置文件 -注意这是错误的,文章中写的是 enable
2、正确配置文件 - 注意是enabled(look源码HystrixFeignConfiguration.class )
3、修改注解@SpringCloudApplicaiton - 这个可能因为版本问题,不过我觉得这个注解解决方案不是很靠谱。
4、添加bean - 也是因为版本问题,添加 Feign.Builder()。根据源码去解决问题。
以上我都测试了,但是没有解决我这个版本带来的问题。我根据断点调试,最终发现还是要通过4、添加bean去解决。但是我直接粘贴源码:
@Bean
@Scope("prototype")
public Feign.Builder feignHystrixBuilder() {
return HystrixFeign.builder();
}
只有一词之差,一个Feign.Builder(),一个HystrixFeign.builder()。解决这个问题,而且配置文件中也不需要加入 feign.hystrix.enabled 配置。
Spring Cloud,我觉得坑不少,因为这两个原因折腾了一天的时间。