spring cloud 配置中心客户端启动
先启动了配置中心,然后启动客户端,
发现打印的日志是这样的
1
2
3
4
5
6
|
2020 - 04 - 29 11 : 13 : 02.333 INFO 1856 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http: //localhost:9009/ 2020 - 04 - 29 11 : 13 : 08.121 INFO 1856 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=test-config, profiles=[dev], label=master, version=3eb2b779d066af89af4ba5b7a722d2189a15ffd3, state= null 2020 - 04 - 29 11 : 13 : 08.122 INFO 1856 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name= 'bootstrapProperties-configClient' }, BootstrapPropertySource {name= 'bootstrapProperties-https://github.com/kzdw/springCloudConfigCenter.git/test-config.yml (document #1)' }, BootstrapPropertySource {name= 'bootstrapProperties-https://github.com/kzdw/springCloudConfigCenter.git/test-config.yml (document #0)' }] 2020 - 04 - 29 11 : 13 : 08.127 INFO 1856 --- [ main] c.z.c.ConfigCloudClientApplication : The following profiles are active: dev 2020 - 04 - 29 11 : 13 : 08.408 INFO 1856 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=3bad3006- 6836 -326e-9ae4-7b60b788ec28 2020 - 04 - 29 11 : 13 : 08.720 INFO 1856 --- [ main] c.z.c.ConfigCloudClientApplication : Started ConfigCloudClientApplication in 7.436 seconds (JVM running for 8.236 ) |
从日志上看,已经获取到了配置中心的配置,但是呢,总感觉日志不对,怎么就没有启动的端口呢。
springcloud经常会一个模块包含另外模块,难道web模块没有被 spring-cloud-starter-config 包含?
那就加入web模块吧
1
2
3
4
|
< dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > |
加入之后再启动项目
1
2
3
4
5
6
7
8
9
10
11
12
13
|
2020 - 04 - 29 11 : 20 : 35.379 INFO 10060 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http: //localhost:9009/ 2020 - 04 - 29 11 : 20 : 36.849 INFO 10060 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=test-config, profiles=[dev], label=master, version=3eb2b779d066af89af4ba5b7a722d2189a15ffd3, state= null 2020 - 04 - 29 11 : 20 : 36.850 INFO 10060 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name= 'bootstrapProperties-configClient' }, BootstrapPropertySource {name= 'bootstrapProperties-https://github.com/kzdw/springCloudConfigCenter.git/test-config.yml (document #1)' }, BootstrapPropertySource {name= 'bootstrapProperties-https://github.com/kzdw/springCloudConfigCenter.git/test-config.yml (document #0)' }] 2020 - 04 - 29 11 : 20 : 36.855 INFO 10060 --- [ main] c.z.c.ConfigCloudClientApplication : The following profiles are active: dev 2020 - 04 - 29 11 : 20 : 37.278 INFO 10060 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=21eb9db3-9e16-3c20-bd81-2c0ea23b0f12 2020 - 04 - 29 11 : 20 : 37.566 INFO 10060 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8201 (http) 2020 - 04 - 29 11 : 20 : 37.574 INFO 10060 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2020 - 04 - 29 11 : 20 : 37.574 INFO 10060 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/ 9.0 . 33 ] 2020 - 04 - 29 11 : 20 : 37.684 INFO 10060 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2020 - 04 - 29 11 : 20 : 37.684 INFO 10060 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 817 ms 2020 - 04 - 29 11 : 20 : 37.851 INFO 10060 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2020 - 04 - 29 11 : 20 : 38.200 INFO 10060 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8201 (http) with context path '' 2020 - 04 - 29 11 : 20 : 38.285 INFO 10060 --- [ main] c.z.c.ConfigCloudClientApplication : Started ConfigCloudClientApplication in 3.87 seconds (JVM running for 4.531 ) |
果然,从配置中心拉取到了配置并成功启动了。
spring cloud配置中心客户端配置的坑
1. 出错信息如下
在启动配置中心的客户端时,报以下错误信息:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'foo' in value "${foo}"
2. 度娘查了下,发现很多人碰到这个坑
首先我提交到git上到配置文件名称为下面两个文件
1
2
|
cloud-config-dev.properties cloud-config-test.properties |
遵循配置中心配置文件的规则/{application}-{profile}.properties
所以在cloud-config-client端调用的时候,applcation.name应该是cloud-config,然而我在配置的时候,想当然的写成了cloud-config-client,导致出现上面的错误。
解决方法很简单,贴下client的配置如下
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_36481502/article/details/105835515