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

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

1.远程仓库文件:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

 

 

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

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

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

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

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

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

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

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

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

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

 

你可能感兴趣的:(spring,cloud,java)