1

我尝试使用 Consul 作为 Spring Boot 的配置服务器。我已经成功使用 consul 的 kv 存储来获取变量,但现在我希望能够将变量作为 YAML 文件获取。这是我的 bootstrap.yaml :

spring:
  cloud.consul:
    host: localhost
    port: 8500
    config:
      enabled: true
      format: YAML
      failFast: true

我把这个配置放在 consul 的路径 "/config/my.application.name/data" 上:

testspring: hello

我尝试使用以下方法访问此属性:

@Value("${testspring}")

...没有成功。我在这里想念什么?consul 上配置的好方法是什么?

谢谢

编辑:似乎配置已加载到值 ${data} 上并且没有被解析。data="testspring: hello",这不是预期的。

4

1 回答 1

1

我能够使用您的样本获取数据。但是如果我format: YAML从我的配置中删除(所以使用默认的 KEY_VALUE),那么未解析data的属性就会被提取。也许仔细检查您的bootstrap.yml配置是否有正确的缩进。

您使用的是什么版本的 Spring Boot 和 Spring Cloud?

于 2018-08-22T08:39:55.543 回答