最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloudGateway路由失效問題

 更新時(shí)間:2024年10月31日 14:27:12   作者:Xiao_zuo_ya  
本文主要分析了SpringCloudGateway整合nacos時(shí)路由失效的問題,作者通過斷點(diǎn)跟蹤發(fā)現(xiàn)在RouteToRequestUrlFilter類中報(bào)錯(cuò),原因是在讀取配置文件的時(shí)候,沒有解析到對(duì)應(yīng)的host主機(jī),進(jìn)一步發(fā)現(xiàn)這里包含了一段正則表達(dá)式驗(yàn)證,驗(yàn)證配置的服務(wù)名稱是否合法

SpringCloudGateway整合nacos路由失效

報(bào)錯(cuò)如下

java.lang.IllegalStateException: Invalid host: lb://mall_admin_service

負(fù)載均衡配置的沒有問題,對(duì)應(yīng)的服務(wù)名稱也沒有問題,斷點(diǎn)跟蹤了一下,在這個(gè)RouteToRequestUrlFilter類中報(bào)錯(cuò),

代碼很簡(jiǎn)單

		if ("lb".equalsIgnoreCase(routeUri.getScheme()) && routeUri.getHost() == null) {
			// Load balanced URIs should always have a host. If the host is null it is
			// most
			// likely because the host name was invalid (for example included an
			// underscore)
			throw new IllegalStateException("Invalid host: " + routeUri.toString());
		}

在讀取配置文件的時(shí)候,沒有解析到對(duì)應(yīng)的host主機(jī)

		private static final String SCHEME_REGEX = "[a-zA-Z]([a-zA-Z]|\\d|\\+|\\.|-)*:.*";
		static final Pattern schemePattern = Pattern.compile(SCHEME_REGEX);
		// 部分代碼截取
		if (hasAnotherScheme(routeUri)) {
			// this is a special url, save scheme to special attribute
			// replace routeUri with schemeSpecificPart
			exchange.getAttributes().put(GATEWAY_SCHEME_PREFIX_ATTR,
					routeUri.getScheme());
			routeUri = URI.create(routeUri.getSchemeSpecificPart());
		}

這里包含了一段正則表達(dá)式驗(yàn)證,驗(yàn)證配置的服務(wù)名稱是否合法,很明顯我們的是以下劃線配置的,所以驗(yàn)證失敗,URI.create創(chuàng)建的時(shí)候host解析失敗配置為空的。

也能了解了一下SpringCloudGateWay實(shí)現(xiàn)原理,所有的過濾器均以GlobalFilter 的子接口實(shí)現(xiàn),同樣是一些列的過濾器鏈。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA中JDK是1.8但Java版本只有21和17的解決辦法

    IDEA中JDK是1.8但Java版本只有21和17的解決辦法

    JDK 1.8(Java Development Kit 1.8)是Java平臺(tái)的一個(gè)版本,它包含了用于開發(fā)和運(yùn)行Java應(yīng)用程序的工具和庫(kù),下面這篇文章主要給大家介紹了關(guān)于IDEA中JDK是1.8但Java版本只有21和17的解決辦法,需要的朋友可以參考下
    2024-01-01
  • 淺談Java中的n種隨機(jī)數(shù)產(chǎn)生辦法

    淺談Java中的n種隨機(jī)數(shù)產(chǎn)生辦法

    眾所周知,隨機(jī)數(shù)是任何一種編程語(yǔ)言最基本的特征之一。而生成隨機(jī)數(shù)的基本方式也是相同的:產(chǎn)生一個(gè)0到1之間的隨機(jī)數(shù)??此坪?jiǎn)單,但有時(shí)我們也會(huì)忽略了一些有趣的功能。
    2015-09-09
  • maven打包失敗踩坑的解決方式詳解

    maven打包失敗踩坑的解決方式詳解

    最近因?yàn)樾马?xiàng)目有很多自定義的jar包,而且占內(nèi)存很多,就直接拷貝過來,新開了一個(gè)maven倉(cāng)庫(kù),用的時(shí)候沒有問題,但是打包一直編譯不通過,下面這篇文章主要給大家介紹了關(guān)于maven打包失敗踩坑的解決方式,需要的朋友可以參考下
    2023-05-05
  • 使用WebMvcConfigurer配置SpringMVC過程

    使用WebMvcConfigurer配置SpringMVC過程

    WebMvcConfigurer配置類用于Java代碼配置SpringMvc,實(shí)現(xiàn)該接口或繼承WebMvcConfigurationSupport類,常用方法:addInterceptors(攔截器)、addViewControllers(視圖控制器)等
    2024-12-12
  • Java集合案例之斗地主游戲

    Java集合案例之斗地主游戲

    這篇文章主要為大家詳細(xì)介紹了Java集合案例之斗地主游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Spring MVC獲取參數(shù)和自定義參數(shù)類型轉(zhuǎn)換器及編碼過濾器

    Spring MVC獲取參數(shù)和自定義參數(shù)類型轉(zhuǎn)換器及編碼過濾器

    這篇文章主要為大家詳細(xì)介紹了Spring MVC獲取參數(shù)和自定義參數(shù)類型轉(zhuǎn)換器及編碼過濾器,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Java基礎(chǔ)詳解之集合框架工具Collections

    Java基礎(chǔ)詳解之集合框架工具Collections

    這篇文章主要介紹了Java基礎(chǔ)詳解之集合框架工具Collections,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04
  • Java中synchronized正確使用方法解析

    Java中synchronized正確使用方法解析

    這篇文章主要介紹了Java中syncronized正確使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • SpringBoot項(xiàng)目中使用Swagger2及注解解釋的詳細(xì)教程

    SpringBoot項(xiàng)目中使用Swagger2及注解解釋的詳細(xì)教程

    Swagger2是一個(gè)開源項(xiàng)目,用于為RESTful Web服務(wù)生成REST API文檔,下面這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中使用Swagger2及注解解釋的詳細(xì)教程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Mybatis之動(dòng)態(tài)sql標(biāo)簽的使用

    Mybatis之動(dòng)態(tài)sql標(biāo)簽的使用

    這篇文章主要介紹了Mybatis之動(dòng)態(tài)sql標(biāo)簽的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評(píng)論

祁门县| 遂平县| 广元市| 蓬安县| 甘孜| 固始县| 荣昌县| 女性| 灵武市| 若尔盖县| 澄江县| 巴东县| 吴忠市| 开原市| 玛纳斯县| 贺州市| 安吉县| 庄浪县| 余干县| 斗六市| 吴江市| 绥阳县| 兴隆县| 望城县| 中山市| 瓦房店市| 隆尧县| 黄陵县| 洛川县| 独山县| 天津市| 黄骅市| 岳普湖县| 大冶市| 安达市| 思茅市| 嘉峪关市| 根河市| 鸡西市| 吴江市| 银川市|