1

spring-cloud-config在我的Spring Boot项目中使用,但我不明白如何插入环境变量。

例如,我MYSQL_PASSWORD在(作为环境变量)中设置了config server变量,我想从其他客户端获取它,而不是在所有客户端中重新定义变量。这是我的配置:

service.yml(在配置服务器中)

spring:
  datasource:
     url: jdbc:mysql://mysql:3306/${MYSQL_DATABASE}?autoReconnect=true&useSSL=false
     username: ${MYSQL_USER}
     password: ${MYSQL_PASSWORD}

bootstrap.yml(进入客户端)

spring:
  application:
     name: event-service
  cloud:
    config:
      uri: http://config-service:8888
      fail-fast: true       

如果我使用此配置启动我的服务,${MYSQL_***}则不会插入占位符,并且我显然无法连接到数据库。

我必须做的是定义环境变量,就像MYSQL_***在客户端一样。

这对我来说很奇怪,因为我希望 config-server 成为所有内容的中央存储库。你有什么建议吗?

4

1 回答 1

0

我建议您尝试将 ${MYSQL_USER} 和 ${MYSQL_PASSWORD} 替换为 ${mysql.user} 和 ${mysql.password} - 这样您将依赖 Spring Boot 的默认属性替换。

虽然我不确定配置服务器是否支持您尝试使用的内容,但我从未尝试过类似的用例,如果我建议的方法不起作用,请回复解决方案:)

于 2016-07-08T09:49:27.443 回答