确保 config server 可能拜访
1. 拜访 config server(config server 配置为 git),拜访链接http://localhost:7070/app/test/master
2. 拜访如下图:
3. 确认 config server 所有工作失常,config server 并没有问题,排查 config client。
查看 config client
1. 查看配置
application.properties
## Spring Cloud Eureka 客户端利用名称
spring.application.name = spring-cloud-eureka-client
## Spring Cloud Eureka 客户端服务端口
server.port = 8080
# 启用端点 envmanagement.endpoint.env.enabled=true
# 裸露端点 env 配置多个, 隔开
management.endpoints.web.exposure.include=*
management.endpoint.info.enabled=true
management.info.env.enabled=true
#eureka.client.serviceUrl.defaultZone=http://localhost:9090/eureka
logging.level.org.springframework.cloud=trace
bootstrap.properties
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:9090/eureka
spring.cloud.config.name=app
spring.cloud.config.profile=test
spring.cloud.config.label=master
spring.profiles.active=test
#spring.config.import=optional:spring-cloud-config-server:http://localhost:7070/
spring.cloud.config.fail-fast=true
## 激活 Config 服务器发现
spring.cloud.config.discovery.enabled=true
## 配置 Config 服务器的利用名称(Service ID)spring.cloud.config.discovery.serviceId=spring-cloud-config-server
查看配置发现并没有什么问题,确认配置没有问题,问题应该在其余中央。
2. 查看日志
查看日志后发现,我配置的 profile 为 test,然而并没有读取进去,依据日志来看,貌似并没有从 bootstrap.properties 读取配置,得出如下猜想:
1. 配置文件应该在全副配置在 application 中。
2.springboot 并没有从 bootstrap.properties 启动,可能是短少什么依赖。
2.1 针对猜想 1 查看问题
将所有配置整合在 application 中,再次启动。
## Spring Cloud Eureka 客户端利用名称
spring.application.name = spring-cloud-eureka-client
## Spring Cloud Eureka 客户端服务端口
server.port = 8080
# 启用端点 envmanagement.endpoint.env.enabled=true
# 裸露端点 env 配置多个, 隔开
management.endpoints.web.exposure.include=*
management.endpoint.info.enabled=true
management.info.env.enabled=true
#eureka.client.serviceUrl.defaultZone=http://localhost:9090/eureka
logging.level.org.springframework.cloud=trace
#logging.level.org.springframework=trace
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:9090/eureka
spring.cloud.config.name=app
spring.cloud.config.profile=test
spring.cloud.config.label=master
spring.profiles.active=test
#spring.config.import=optional:spring-cloud-config-server:http://localhost:7070/
spring.cloud.config.fail-fast=true
## 激活 Config 服务器发现
spring.cloud.config.discovery.enabled=true
## 配置 Config 服务器的利用名称(Service ID)spring.cloud.config.discovery.serviceId=spring-cloud-config-server
启动之后日志如下,发现还是没有所有利用配置文件
2.2 猜想 1 根本谬误
通过日志来看,猜想 1 根本谬误,不仅没有读取相应的配置,还查看不到 config server,针对猜想的查看截止。
2.3 针对猜想 2 查看问题
- 查问 spring 官网,发现 spring 团队竟然将
spring-cloud-starter-bootstrap
提取进去了,在以前的版本中,bootstrap 是整合在 springboot 中的,从 springboot2.4 就独立进去了。
2. 增加依赖
3. 再次启动
4. 通过 env 查看发现可能获取到相应的配置,确认了是 bootstrap.properties 短少了启动依赖导致。与 application.properties 文件无关。
论断
针对 config client 无奈获取 config server 的配置服务的参数,从 springboot2.4 当前的版本是须要增加 spring-cloud-starter-bootstrap
依赖。