No URLs will be polled as dynamic configuration sources

現象

Eureka client啓動時出現“No URLs will be polled as dynamic configuration sources”警告,

並提示:需要配置archaius.configurationSource.additionalURL或創建config.properties。

  WARN 1722 --- [           main] c.n.c.sources.URLConfigurationSource     : No URLs will be polled as dynamic configuration sources.
  INFO 1722 --- [           main] c.n.c.sources.URLConfigurationSource     : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
  WARN 1722 --- [           main] c.n.c.sources.URLConfigurationSource     : No URLs will be polled as dynamic configuration sources.
  INFO 1722 --- [           main] c.n.c.sources.URLConfigurationSource     : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.

分析

根據錯誤提示可以找到com.netflix.config.sources.URLConfigurationSource類,其中包含初始化過程,這裏就不細說了。

分析可知道由於eureka-client包內引入了netflix-archaius包,默認需要加載配置源,無法加載配置元導致系統警告。

netflix-archaius與spring-config和apollo等配置組建類似。

解決辦法

方法一(推薦)

排除netflix-archaius引入,在不使用archaius組件前提下。

入還引入了其他netflix組件,可能也會有archaius引入,需要一起exclusion。

<!-- 基於eureka的功能 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>spring-cloud-starter-netflix-archaius</artifactId>
            <groupId>org.springframework.cloud</groupId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 基於ribbon的功能 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>spring-cloud-netflix-archaius</artifactId>
            <groupId>org.springframework.cloud</groupId>
        </exclusion>
    </exclusions>
</dependency>

方法二

在resources目錄下創建一個空的config.properties文件。

方法三

通過啓動參數“-Darchaius.configurationSource.additionalUrls”制定配置文件

-Darchaius.configurationSource.additionalUrls="classpath:extra.properties,file:///home/user/other-extra.properties"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章