Dalston.RELEASE版本 Eureka 升級為Nacos

1.版本選擇

當前版本:

Spring Cloud 版本 Dalston.RELEASE
Spring Boot 版本 1.5.12.RELEASE

因為我們使用的Spring Cloud 版本太低,所以可能出現(xiàn)版本依賴的問題
Nacos 屬于Spring Cloud Alibaba 體系,我們參考Spring Cloud 官網(wǎng)的版本對應(yīng)關(guān)系


image.png

Spring Cloud的E版本最低也要求1.5的版本,所以我這里只能選在nacos 的版本也為1.5

 <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>1.5.0.RELEASE</version>
 </dependency>

但是當我啟動項目的時候發(fā)現(xiàn)報錯


image.png

就是我們在創(chuàng)建nacosAutoServiceRegistration對象時候報錯。我們進入該類

image.png

NacosAutoServiceRegistration繼承自AbstractAutoServiceRegistration,在構(gòu)造函數(shù)中調(diào)用了父類的構(gòu)造函數(shù)super(serviceRegistry, autoServiceRegistrationProperties);,然后我們點去看到父類中
image.png

此時父類的構(gòu)造函數(shù)只有一個參數(shù)。

NacosAutoServiceRegistration 來自于 spring-cloud-alibaba-nacos-discovery-1.5.0.RELEASE.jar
AbstractAutoServiceRegistration 來自于 spring-cloud-commons-1.2.0.RELEASE.jar.jar
Spring Cloud D版本默認依賴的是 spring-cloud-commons-1.2.0.RELEASE.jar
我們提高一下spring-cloud-commons 的版本再看一下AbstractAutoServiceRegistration 的構(gòu)造函數(shù)

  <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-commons</artifactId>
      <version>1.3.5.RELEASE</version>
    </dependency>
image.png

很明顯在更新的版本中增加了一個兩個參數(shù)的構(gòu)造函數(shù)。

2.增加配置

去掉所有Eureka 的配置
spring.cloud.nacos.discovery. server-addr: 192.168.1.10:8905

3.去掉所有Eureka依賴

如果不整體重構(gòu)我發(fā)現(xiàn)我們的項目Eureka 依賴很難去除干凈所以我在需要的項目中加入了如下的兩個依賴

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka-server</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
      <scope>test</scope>
    </dependency>

設(shè)置Scope 為test 這樣子正式打包的時候就排除掉了Eureka 的依賴,很取巧但是不可取。

下一篇 Nacos 服務(wù)監(jiān)聽

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容