本文介绍: 近日,笔者在对项目中的 Spring Boot、Spring Cloud 以及 Spring Cloud Alibaba 进行版本升级时,遭遇了一个令人头疼的问题:Spring Cloud Gateway 在运行时一直卡住,无法正常启动。这一点也是解决问题的关键所在。在排查过程中,笔者发现,只要使用 @Autowired 注入了 OpenFeignClient,Gateway 就无法正常启动。在升级完成后,发现 Spring Cloud Gateway 无法正常启动,一直卡在启动过程中。

Spring Cloud 版本升级遇坑记:OpenFeignClient与Gateway的恩怨情仇
近日,在对项目中的 Spring Boot、Spring Cloud 以及 Spring Cloud Alibaba 进行版本升级时,遭遇了一个令人头疼的问题:Spring Cloud Gateway 在运行时一直卡住,无法正常启动。经过一番折腾,终于找到了问题的症结所在,下面就来分享一下这个问题解决过程

升级详情

本次升级涉及以下组件

Spring Boot 升级到 2.7.17
Spring Cloud 升级到 2021.0.8
Spring Cloud Alibaba 升级到 2021.0.4.0
遭遇问题

在升级完成后,发现 Spring Cloud Gateway 无法正常启动,一直卡在启动过程中。

探究原因

排查过程中,发现,只要使用 @Autowired 注入了 OpenFeignClient,Gateway 就无法正常启动

解决方法注意事项

经过一系列尝试总结出了以下几个注意事项

解决方法注意事项

1、使用@Lazy进行懒加载:当注入OpenFeignClient时,务必使用@Lazy注解,确保在Gateway启动时不会过早实例化,避免启动卡住的问题。
2、FeignClient的异步调用:确保FeignClient采用异步调用方式,利用Future模式,避免同步调用导致的线程异常
3、开启OpenFeign功能使用@EnableFeignClients注解,确保OpenFeign功能项目中的正常运行。
4、开启异步执行功能使用@EnableAsync注解,确保异步调用的正常执行,否则@Async注解将无法生效
解决实例

在这里插入图片描述

原文地址:https://blog.csdn.net/m0_37924754/article/details/134593110

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17019.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注