您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

SpringCloud中gateWay启动报错

时间:2022-09-15 13:58:07  来源:今日头条  作者:四叶草的百合

一,报错内容

当使用gateway的时候,我们可能会在gateway项目中引入一些额外的包,比如webmvc,starter-web等,当然默认是不需要这些的,而且这些放到里面也是会报错的,一般使用的场景,比如你项目中引入elk,然后加入traceId的时候,就需要使用拦截器等,就会有问题,不过拦截器一般使用gateway的filter就可以了,这个组件会在后面做讲解,引用了会有依赖冲突的,会报如下的错误

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

 

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.JAVA:163)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:740)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:415)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1312)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301)
	at com.hanvon.gateway.GatewayApplication.mAIn(GatewayApplication.java:18)
Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getWebServerFactory(ServletWebServerApplicationContext.java:210)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
	... 8 common frames omitted

二,解决方案

找到引用的包里面哪一些是有引用了spring-webmvc 或者 spring-boot-starter-web这个pom文件的,然后将这个进行排除,解决jar冲突的依赖

 

三,原理

因为gateway在其内部导入了webflux包,但是webmvc和webflux是不能同时出现的,是有冲突的,所以一般做法就是先忽略webmv 包,但是如果必须要使用的话,我们可以进行合理的拆分,将一些功能拆分出来,使用gateway里面中一些GatewayFilterFactory,GatewayPredicate来处理我们需要处理的逻辑



Tags:gateWay   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
中国三大运营商共同发布通过GSMA Open Gateway认证的一次性密码 API
3月26日,北京:中国三大领先的移动运营商——中国移动、中国电信和中国联通今日发布商用OTP API(一次性密码API)服务,并通过了GSMA Open Gateway认证。此次发布标志着中...【详细内容】
2024-03-26  Search: gateWay  点击:(22)  评论:(0)  加入收藏
彻底解决Spring Cloud Gateway中Body读取问题
在构建微服务架构时,Spring Cloud Gateway作为一个重要的微服务网关,经常需要在过滤器(Filter)中对POST请求的Body内容进行操作,如日志记录、签名验证和权限验证等。然而,由于Requ...【详细内容】
2023-11-28  Search: gateWay  点击:(167)  评论:(0)  加入收藏
Kubernetes API Gateway 1.0 上线,维护者提出了未来规划
作者 | Joab Jackson译者 | 王强策划 | Tina用户期待已久的 Kubernetes Gateway API 现已准备好投入生产环境,并附带一系列新的支持工具来帮助 K8s 管理员入门。Kubernetes G...【详细内容】
2023-11-14  Search: gateWay  点击:(284)  评论:(0)  加入收藏
Spring Cloud Gateway提供的简易网关实现方式,你使用过吗?
环境:SpringBoot2.5.13Spring Cloud Gateway提供了一个名为ProxyExchange的实用程序对象。你可以在常规Spring web处理程序中使用它作为方法参数。它通过镜像HTTP动词的方法...【详细内容】
2023-09-15  Search: gateWay  点击:(208)  评论:(0)  加入收藏
探索 Gateway API 在 Service Mesh 中的工作机制
前几天 Gateway API 宣布在 0.8.0 中支持服务网格[1],这意味着 GAMMA[2](Gateway API for Mesh Management and Administration)有了新进展,虽然目前还是实验阶段。去年 6 月 Ga...【详细内容】
2023-09-08  Search: gateWay  点击:(287)  评论:(0)  加入收藏
apigateway技术选型必须要考虑的技术之一OpenResty
openrestyOpenResty介绍OpenResty 是一个基于 Nginx 服务器的全功能 Web 应用服务器,它集成了大量的第三方模块,提供了更丰富的功能和性能优化。OpenResty 的核心是由 Nginx...【详细内容】
2023-08-12  Search: gateWay  点击:(210)  评论:(0)  加入收藏
Spring Cloud Gateway路由元信息作用及路由超时配置详解
环境:Spring Cloud Gateway 3.1.4路由元信息配置你可以使用元数据为每个路由配置其他参数,如下所示:spring: cloud: gateway: routes: - id: route_with_metad...【详细内容】
2023-05-04  Search: gateWay  点击:(308)  评论:(0)  加入收藏
Spring Cloud Gateway夺命连环十问?
这篇文章介绍下微服务中的一个重要角色:网关,对于网关如何选择,由于阿里系暂时未出网关,当然是选择了Spring cloud Gateway,毕竟是亲儿子。已经阅读过该篇文章的朋友可以直接跳过...【详细内容】
2023-03-08  Search: gateWay  点击:(143)  评论:(0)  加入收藏
一篇打通微服务架构,Nacos + Gateway + Redis + MySQL + Docker
基本组件Nginx、Gateway、Nacos、Sentinel、Ribbon、Feign、Seata、Redis、RabbitMQ、MySQL、docker、Vue。大家好,我是哪吒。今天分享一篇一站式微服务架构,读哪吒编程,品技术...【详细内容】
2023-02-27  Search: gateWay  点击:(185)  评论:(0)  加入收藏
gateway worker 分离部署
什么是Gateway Worker分离部署GatewayWorker有三种进程,Gateway进程负责网络IO,BusinessWorker进程负责业务处理,Register进程负责协调Gateway与BusinessWorker之间建立TCP长连...【详细内容】
2022-11-14  Search: gateWay  点击:(334)  评论:(0)  加入收藏
▌简易百科推荐
Qt与Flutter:在跨平台UI框架中哪个更受欢迎?
在跨平台UI框架领域,Qt和Flutter是两个备受瞩目的选择。它们各自具有独特的优势,也各自有着广泛的应用场景。本文将对Qt和Flutter进行详细的比较,以探讨在跨平台UI框架中哪个更...【详细内容】
2024-04-12  刘长伟    Tags:UI框架   点击:(1)  评论:(0)  加入收藏
Web Components实践:如何搭建一个框架无关的AI组件库
一、让人又爱又恨的Web ComponentsWeb Components是一种用于构建可重用的Web元素的技术。它允许开发者创建自定义的HTML元素,这些元素可以在不同的Web应用程序中重复使用,并且...【详细内容】
2024-04-03  京东云开发者    Tags:Web Components   点击:(8)  评论:(0)  加入收藏
Kubernetes 集群 CPU 使用率只有 13% :这下大家该知道如何省钱了
作者 | THE STACK译者 | 刘雅梦策划 | Tina根据 CAST AI 对 4000 个 Kubernetes 集群的分析,Kubernetes 集群通常只使用 13% 的 CPU 和平均 20% 的内存,这表明存在严重的过度...【详细内容】
2024-03-08  InfoQ    Tags:Kubernetes   点击:(17)  评论:(0)  加入收藏
Spring Security:保障应用安全的利器
SpringSecurity作为一个功能强大的安全框架,为Java应用程序提供了全面的安全保障,包括认证、授权、防护和集成等方面。本文将介绍SpringSecurity在这些方面的特性和优势,以及它...【详细内容】
2024-02-27  风舞凋零叶    Tags:Spring Security   点击:(54)  评论:(0)  加入收藏
五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等
一、什么是跨平台桌面应用开发框架跨平台桌面应用开发框架是一种工具或框架,它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的桌面应用程序。传统上...【详细内容】
2024-02-26  贝格前端工场    Tags:框架   点击:(47)  评论:(0)  加入收藏
Spring Security权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口。本文将用 waynboot-mall 项目举例...【详细内容】
2024-02-19  程序员wayn  微信公众号  Tags:Spring   点击:(39)  评论:(0)  加入收藏
开发者的Kubernetes懒人指南
你可以将本文作为开发者快速了解 Kubernetes 的指南。从基础知识到更高级的主题,如 Helm Chart,以及所有这些如何影响你作为开发者。译自Kubernetes for Lazy Developers。作...【详细内容】
2024-02-01  云云众生s  微信公众号  Tags:Kubernetes   点击:(51)  评论:(0)  加入收藏
链世界:一种简单而有效的人类行为Agent模型强化学习框架
强化学习是一种机器学习的方法,它通过让智能体(Agent)与环境交互,从而学习如何选择最优的行动来最大化累积的奖励。强化学习在许多领域都有广泛的应用,例如游戏、机器人、自动驾...【详细内容】
2024-01-30  大噬元兽  微信公众号  Tags:框架   点击:(68)  评论:(0)  加入收藏
Spring实现Kafka重试Topic,真的太香了
概述Kafka的强大功能之一是每个分区都有一个Consumer的偏移值。该偏移值是消费者将读取的下一条消息的值。可以自动或手动增加该值。如果我们由于错误而无法处理消息并想重...【详细内容】
2024-01-26  HELLO程序员  微信公众号  Tags:Spring   点击:(88)  评论:(0)  加入收藏
SpringBoot如何实现缓存预热?
缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系...【详细内容】
2024-01-19   Java中文社群  微信公众号  Tags:SpringBoot   点击:(86)  评论:(0)  加入收藏
站内最新
站内热门
站内头条