spring cloud 远程仓库配置文件(yml或properties)中有server.port参数就无法访问,这是一个大坑吗?

问题描述:spring cloud 远程仓库配置文件(yml或properties)中有server.port参数就无法访问,这是一个大坑吗?

1.远程仓库文件:

2.ms-config-client的配置:

application.yml

server:
  port: 8010

bootstrap.yml

spring:
  cloud:
    config:
      uri: http://localhost:8009
      profile: pre
      label: master   # 当configserver的后端存储是Git时,默认就是master
  application:
    name: application

3.将ms-config-server、ms-config-client的两个微服务启动起来:

4.访问:http://localhost:8010/msconfig-client

5.将application-pre.yml改为application-pre.properties文件

6.再次重启ms-config-client微服务,然后访问服务:虽然能够访问,但是访问的spring.application.name这个参数不对,不是远程仓库的ms-config-server-pre,而是本地的spring.application.name=application(见第二步),这是为何呢?猜测应该是远端获取不到,获取本地的参数

7.修改client的程序,将端口参数写获取打印出来:

8.再次重启ms-config-client微服务,然后访问服务:http://localhost:8010/msconfig-client,spring.application.name和application,server.port 读取的都是本地配置文件ms-config-client中的配置。

9.将application-pre.properties内容修改为键值对形式:

10.再次重启ms-config-client微服务,然后访问服务:http://localhost:8010/msconfig-client,无法访问:

11.将application-pre.properties内容server.port改为server.porte:

 

12.再次重启ms-config-client微服务,然后访问服务:http://localhost:8010/msconfig-client可以看到端口号还是读取本地的配置。

 

 

 

13.将仓库的application-pre.properties改为application-pre.yml,同时内容也改为层次结构

14..再次重启ms-config-client微服务,然后访问服务:http://localhost:8010/msconfig-client, 还是无法访问

15.将文件中的 将application-pre.properties内容server.port改为server.porte:

16..再次重启ms-config-client微服务,然后访问服务:http://localhost:8010/msconfig-client,端口能访问,但是访问的是本地的配置文件。

结论是:当远程仓库中的配置文件,不管是properties格式还是yml格式,只要里面配置server.port有这个参数,client无法访问到,当server.port改为其他名称,如server.porte,微服务client则能访问到,但是访问的是本地server.port配置的值8010。这是为什么呢?

奶奶的,不明白怎么回事,有水明白,告知一声。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值