Spring Config uri

时间:2019-04-03 10:11:23

标签: spring spring-cloud spring-config

我已经为spring config配置了bootstrap.yml

spring:
  application:
    name: cce-auth
  cloud:
    config:
      uri: http://temp.com:8888

它工作正常,但是我需要动态的URI值,例如,如果我将在测试环境中发布此.war,则该URL必须为http://test-temp.com:8888

为此,我有解决方案在服务器中创建config.txt文件,并使用I / O流簧片/将此字符串写入bootstrap.yml。

但是问题是加载,在我写bootstrap.yml之前,弹簧加载http://localhost:8888

所以我的原因是为配置服务器动态创建URI。 你有什么主意吗?

1 个答案:

答案 0 :(得分:0)

bootstrap.yml文件中定义active_profile

spring:
  profiles:
    active: ${activatedProperties}

然后为每个环境等创建bootstrap-${activatedProperties}.ymlbootstrap-dev.ymlbootstrap-pre.ymlbootstrap-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 ....