我已经为spring配置配置了bootstrap.yml
spring:
application:
name: cce-auth
cloud:
config:
uri: http://temp.com:8888
它工作正常,但我需要动态 URI 值,例如,如果我要在测试环境中发布此.war
,则必须http://test-temp.com:8888
此 URL .
因此,为此,我有解决方案在服务器中创建config.txt文件,并使用I/O Stream Reed/将此字符串写入bootstrap.yml。
但是问题是加载,弹簧加载http://localhost:8888
在我编写bootstrap.yml之前。
所以我的原因是为配置服务器创建动态 URI。你有什么想法吗?
在bootstrap.yml
文件中定义active_profile
spring:
profiles:
active: ${activatedProperties}
然后为每个环境等创建bootstrap-${activatedProperties}.yml
。bootstrap-dev.yml
、bootstrap-pre.yml
、bootstrap-prod.yml
例如:
spring:
application:
name: servicename_prod
cloud:
config:
uri: https://admin:123456@test.com:8888
server:
port: 8443
将插件添加到pom.xml
文件:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
运行 java 时,在其上定义环境:例如,使用prod
环境运行。
java -Dserver.port=8443 -Dspring.profiles.active=prod -jar ....