SpringCloudConfig配置中心Client端加载文件不成功问题

远程配置加载失败

CongfigServer默认地址为http://localhost:8888,如果与你配置的地址不一致表示不成功,控制台前几行会打印提示但不会抛出异常,如下图:

远程配置加载成功

http://192.168.0.126:8092/是我配置的CongfigServer服务,启动SpringBoot首行出现Fetching config from server at : http://192.168.0.126:8092/表示已经成功加载到SpringCloudConifg的配置,如下图:

确认ConfigServer是否配置成功

首先确认ConfigServer配置成功

 

第一次配置可能会出现以下一些坑,请注意:

1、无法解析花括号中的占位符,出现这个异常很显然是因为配置文件中没有与之匹配的键,可查看resources文件夹下application[yml/properties]文件或者bootstrap[yml/properties]文件里有没有,如果你ConfigServer里面配置的有该键并且Congfig加载成功了,请检查bootstrap.yml配置。

以下bootstrap.yml配置仅供参考

spring:
  application:
    #应用名称
    name: superscene-user-center
  cloud:
    config:
      #配置文件名称
      name: superscene-user-center
      #读取后缀名称
      profile: test
      discovery:
        #开启
        enabled: true
        #注册中心SpringCloud Config Server的名称
        service-id: superscene-config
      #分支名称
      label: master

# 注册服务中心客户端
eureka:
  client:
    service-url:
      # 填写注册中心服务器地址
      defaultZone: http://localhost:8091/eureka
    # 是否需要将自己注册到注册中心
    register-with-eureka: true
    # 是否需要搜索服务信息
    fetch-registry: true
  instance:
    # 使用ip地址注册到注册中心
    prefer-ip-address: true
    # 注册中心列表中显示的状态参数
    instance-id: ${spring.cloud.client.ip-address}:${server.port}

 

2、Client客户端加载,控制台并没有打印 Fetching config from server at : http://192.168.0.126:8092/ 【ConfigServer服务地址】说明spring cloud config 配置并未生效。

解决:使用bootstrap.yml文件,将spring cloud config配置和eureka配置都放进去。

说明:bootstrap.yml(bootstrap.properties)用来在程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等application.yml(application.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。bootstrap.yml 先于 application.yml 加载

技术上,bootstrap.yml 是被一个父级的 Spring ApplicationContext 加载的。这个父级的 Spring ApplicationContext是先加载的,在加载application.yml 的 ApplicationContext之前。

为何需要把 config 的信息放在 bootstrap.yml 里?

当使用 Spring Cloud 的时候,配置信息一般是从 config 加载的,为了取得配置信息(比如密码等),你需要一些提早的引导配置。因此,把 config 信息放在 bootstrap.yml,用来加载在这个时期真正需要的配置信息。

更详细说明请移步查阅:https://www.cnblogs.com/BlogNetSpace/p/8469033.html

 

3、bootstrap.yml不生效问题,bootstrap.yml文件是springcloud下使用的配置并非springboot,一般来说bootstrap配置文件不生效只有springcloud依赖版本问题这一种情况。而且springboot和springcloud版本要匹配,不然也是会报依赖相关的错。

解决:使用较低版本的springboot和springcloud依赖,我这里使用的springboot版本【2.3.5.RELEASE】、springcloud版本【Hoxton.SR9】

更多版本依赖关系请移步至spring官网查看https://spring.io/projects/spring-cloud

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值