Spring Cloud 版本升级遇坑记:OpenFeignClient与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注解将无法生效。
解决实例

相关推荐
仍然.2 小时前
SpringCloud---Gateway
spring·spring cloud·gateway
我有满天星辰2 小时前
Spring AI Prompt 实战:System Prompt、User Prompt 与 PromptTemplate
人工智能·spring·prompt
剑胆琴心静水深流10 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm
晓晓_za89866813 小时前
Geo 优化服务 CI/CD 流水线搭建:源码自动构建、测试与灰度发布
运维·服务器·tcp/ip·spring·缓存·ci/cd
卓怡学长14 小时前
w180springboot基于Java的悠扬乐器管理
java·spring boot·mysql·spring·maven·intellij-idea
小白说大模型17 小时前
Spring AI 框架中集成 MCP 的完整指南:从服务端到客户端的全流程实践
大数据·数据库·人工智能·安全·spring·chatgpt·开源
卓怡学长18 小时前
w181springboot机场乘客服务系统
java·数据库·spring boot·spring·intellij-idea
卓怡学长1 天前
w192基于springboot教务管理系统
java·数据库·spring boot·spring·maven·intellij-idea
手握风云-1 天前
Spring Cloud:分布式系统的“粘合剂”(六)
后端·spring·spring cloud
AI_小站1 天前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain