升级spring boot到2.7.0,gateway先启动其他微服务,在启动网关,网关启动不了,但是网关也没有任何异常日志,仅仅是一直等待状态,查看nacos服务未正常注册;先启动网关,所有服务能正常启动,产看nacos服务,所有服务能正常注册。
最终发现是Feign导致,Spring Cloud Gateway使用OpenFeign卡死
,启动不了。当在gateway网关中使用Feign时,就会导致gateway网关启动一直卡着,然而也不报错。
日志:
解决方式:
文章来源:https://www.toymoban.com/news/detail-703793.html
- 方式一:修改配置
由于配置了spring.cloud.gateway.discovery.locator.enabled = true导致,改为false或者去掉该配置,因为默认为false,但是该方案会导致动态路由不能加载,影响微服务调用。
gateway:
discovery:
locator:
enabled: false
- 方式二:注入使用懒加载
// 关键:这里必须使用@Lazy
@Lazy
@Autowired
private FeignCilent feignCilent ;
注意:在gateway网关中不能使用openfeign同步调用,需要采取异步方式
文章来源地址https://www.toymoban.com/news/detail-703793.html
到了这里,关于在gateway中使用openfeign时,项目启动不了也不报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!