91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud2020 bootstrap 配置文件失效如何解決

發布時間:2021-02-07 19:12:33 來源:億速云 閱讀:517 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關SpringCloud2020 bootstrap 配置文件失效如何解決,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

問題

之前直接就可以用,而現在,啟動的端口是8080,明顯沒有加載到bootstrap.properties文件,我以為我的文件名字寫錯了,核對了幾次,確認無誤,我猜想估計是bootstramp.properties配置文件沒有生效。

之前的版本:

  • spring boot 2.3.1.RELEASE

  • spring cloud Hoxton.SR4

當前版本:

  • spring boot 2.4.2

  • spring cloud 2020.0.1

查找原因

根據上面出現的問題,我使用百度搜索了下,大概的原因知道了:從Spring Boot 2.4版本開始,配置文件加載方式進行了重構。

另外也有配置的默認值變化,如下:

Spring Boot 2.3.8.RELEASE

package org.springframework.cloud.bootstrap;
public class BootstrapApplicationListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent>, Ordered {
 public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
  ConfigurableEnvironment environment = event.getEnvironment();
  if ((Boolean)environment.getProperty("spring.cloud.bootstrap.enabled", Boolean.class, true)) {

Spring Boot 2.4.2

package org.springframework.cloud.util;
public abstract class PropertyUtils {
 public static boolean bootstrapEnabled(Environment environment) {
  return (Boolean)environment.getProperty("spring.cloud.bootstrap.enabled", Boolean.class, false) || MARKER_CLASS_EXISTS;
 }

傳統解決方案

其實官網說得很明白。看下面這段:

Config First Bootstrap
To use the legacy bootstrap way of connecting to Config Server, bootstrap must be enabled via a property or the spring-cloud-starter-bootstrap starter. The property is spring.cloud.bootstrap.enabled=true. It must be set as a System Property or environment variable. Once bootstrap has been enabled any application with Spring Cloud Config Client on the classpath will connect to Config Server as follows: When a config client starts, it binds to the Config Server (through the spring.cloud.config.uri bootstrap configuration property) and initializes Spring Environment with remote property sources.

The net result of this behavior is that all client applications that want to consume the Config Server need a bootstrap.yml (or an environment variable) with the server address set in spring.cloud.config.uri (it defaults to "http://localhost:8888").

兩個關鍵點:

1、加一個依賴:spring-cloud-starter-bootstrap

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

2、加一個配置:spring.cloud.config.uri

bootstrap.properties

# 應用名稱
spring.application.name=erwin-cloud-user
# 啟用環境
spring.profiles.active=dev

# 配置文件
spring.cloud.config.label=${spring.application.name}
spring.cloud.config.name=${spring.application.name}
spring.cloud.config.profile=${spring.profiles.active}
spring.cloud.config.uri=http://localhost:9000

解決方案

現在,你只需要這樣:

application.properties

# 應用名稱
spring.application.name=erwin-cloud-user
# 啟用環境
spring.profiles.active=dev

spring.config.import=optional:configserver:http://localhost:9000

spring.cloud.config.label=${spring.application.name}
spring.cloud.config.name=${spring.application.name}
spring.cloud.config.profile=${spring.profiles.active}

上述就是小編為大家分享的SpringCloud2020 bootstrap 配置文件失效如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和静县| 扬州市| 富裕县| 资讯| 县级市| 剑河县| 穆棱市| 徐汇区| 精河县| 霍邱县| 文山县| 临城县| 乐业县| 加查县| 阿拉善右旗| 眉山市| 腾冲县| 沧州市| 尚志市| 宁武县| 长春市| 青田县| 伊金霍洛旗| 宜城市| 交口县| 米脂县| 南城县| 海门市| 突泉县| 福海县| 汕尾市| 闵行区| 宁南县| 新干县| 阿克苏市| 祁阳县| 苏尼特右旗| 铜川市| 绩溪县| 廉江市| 洱源县|