电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

spring-cloud-gateway啟動(dòng)踩坑及解決

瀏覽:6日期:2023-12-14 08:46:57
目錄spring-cloud-gateway啟動(dòng)踩坑1、webflux與mvc不兼容2、webflux使用netty作為容器3、后來實(shí)驗(yàn)了下很坑得springcloudgateway異常spring-cloud-gateway啟動(dòng)踩坑

本人使用的版本是2.1.2,以下只記錄幾個(gè)小問題,但確實(shí)實(shí)實(shí)在在的把個(gè)人惡心的要死要活的找不到辦法,幾經(jīng)掙扎,最終解決。

更可恨的是開發(fā)的過程中,沒有出現(xiàn)異常,后來由于項(xiàng)目組其它人加了依賴,不知不覺對項(xiàng)目的兼容造成了英雄,真的是被撞的頭破血流,才找到原因

1、webflux與mvc不兼容

如類路徑中引用了webmvc會(huì)導(dǎo)致項(xiàng)目啟動(dòng)不起來

異常1

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.

異常2

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ’org.springframework.core.convert.ConversionService’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=webFluxConversionService)}

解決辦法,找到依賴webmvc的jar包,將webmvc排除即可,如

<dependency> <groupId>${project.groupId}</groupId> <artifactId>core</artifactId> <version>${project.version}</version> <exclusions><!-- 1. webflux與webmvc不兼容,否則會(huì)項(xiàng)目啟動(dòng)不起來--><exclusion> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId></exclusion></dependency>2、webflux使用netty作為容器

不能使用tomcat,表現(xiàn)形式為網(wǎng)關(guān)工作轉(zhuǎn)發(fā)正常,目標(biāo)服務(wù)返回?cái)?shù)據(jù)也正常,但是網(wǎng)關(guān)會(huì)無法解析返回的數(shù)據(jù)并最終由網(wǎng)關(guān)將數(shù)據(jù)返回給客戶端

java.lang.ClassCastException: org.springframework.core.io.buffer.DefaultDataBufferFactory cannot be cast to org.springframework.core.io.buffer.NettyDataBufferFactory

解決辦法

https://github.com/spring-cloud/spring-cloud-gateway/issues/145

找到將tomcat依賴進(jìn)來的jar包,然后排除即可。需要注意的是,要看清楚自己項(xiàng)目依賴的tomcat具體的maven坐標(biāo)。

spring-cloud-gateway啟動(dòng)踩坑及解決

然后排除即可

<dependency> <groupId>${project.groupId}</groupId> <artifactId>core</artifactId> <version>${project.version}</version> <exclusions> <!-- 1. webflux與webmvc不兼容,否則會(huì)項(xiàng)目啟動(dòng)不起來 2. webflux使用Netty作為容器,如果使用tomcat,接口轉(zhuǎn)發(fā)正常,但是會(huì)導(dǎo)致服務(wù)間的數(shù)據(jù)無法解析 java.lang.ClassCastException: org.springframework.core.io.buffer.DefaultDataBufferFactory cannot be cast to org.springframework.core.io.buffer.NettyDataBufferFactory --> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </exclusion> <exclusion> <groupId>org.springframework.bootk</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> <exclusion> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-el</artifactId> </exclusion> <exclusion> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-websocket</artifactId> </exclusion> </exclusions></dependency>3、后來實(shí)驗(yàn)了下

關(guān)于1webflux和mvc不兼容項(xiàng)目啟動(dòng)不起來的異常,如果項(xiàng)目中存在了tomcat的用來,則拋出的異常是

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.

而如果沒有依賴tomcat則拋出的異常是

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ’org.springframework.core.convert.ConversionService’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=webFluxConversionService)}

很坑得spring cloud gateway 異常

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ’org.springframework.core.convert.ConversionService’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=webFluxConversionService)}at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1655) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1214) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1168) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]... 101 common frames omitted

這個(gè)異常是因?yàn)閟pring cloud gateway 是webflux 項(xiàng)目,引了含有web-starter得項(xiàng)目就會(huì)出現(xiàn)沖突。因?yàn)镠ystrix-dashboard中含有web-starter,所以出現(xiàn)沖突。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | 炉门刀边腹板,焦化设备配件,焦化焦炉设备_沧州瑞创机械制造有限公司 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 企小优-企业数字化转型服务商_网络推广_网络推广公司 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」 | 牛奶检测仪-乳成分分析仪-北京海谊| 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 广东西屋电气有限公司-广东西屋电气有限公司 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 国产频谱分析仪-国产网络分析仪-上海坚融实业有限公司 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 |