在Spring Cloud 2020中使用Consul配置中心遇到的問題


升級Spring Cloud 2020后發現Consul配置中心失效了,配置中心的配置和bootstrap.yml中的配置都沒有生效。

話不多說,先看官方文檔:https://docs.spring.io/spring-cloud-consul/docs/current/reference/html/#spring-cloud-consul-config

發現在SpringBoot 2.4之后,為了適應雲原生,對基礎配置文件使用方式做了調整。

詳情見:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Config-Data-Migration-Guide

看了一堆文檔之后,得出幾個解決方案,如下:

一、使用新配置(推薦)

1、將bootstrap.yml統一修改為application.yml

2、application.yml文件中新增配置:

spring:
  config:
    import: optional:consul:${spring.cloud.consul.host}:${spring.cloud.consul.port}

 

二、使用舊模式

啟動時設置變量:

spring.config.use-legacy-processing=true

 

三、啟用bootstrap.yml,但使用新模式

1、新增Maven依賴:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

2、bootstrap.yml文件中新增配置:

spring:
  config:
    import: optional:consul:${spring.cloud.consul.host}:${spring.cloud.consul.port}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM