【问题标题】:Spring boot Get properties from consul serverSpring boot 从领事服务器获取属性
【发布时间】:2017-07-22 12:23:21
【问题描述】:

我有一个 Spring Boot 应用程序,我想获取我在领事代理上的属性。

@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages={"com.commons"})
public class MainAppProxy   implements CommandLineRunner {      
    @Value("${proxy.endpoint}")
    private String endpointAddress;

我的 application.properties 在 src/main/resources 下

spring.application.name=SOAPProxy
spring.cloud.consul.host=http://10.0.1.241
spring.cloud.consul.port=8500
spring.cloud.config.discovery.enabled=false

在 pom.xml 我有以下配置(短版)

            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Camden.SR5</version>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>

属性以这种格式存储在 consul 中: 业务/SOAPProxy/proxy.endpoint

当应用程序启动时,它似乎找到了 consul,但在尝试 consul @Value("${proxy.endpoint}") 之前它无法获取值 如何获取 consul 的属性?

【问题讨论】:

  • 是否需要从 consul 获取配置?

标签: spring spring-boot consul spring-cloud-consul


【解决方案1】:

你可以使用三种方式从 consul 加载配置

  1. 键/值
  2. yaml
  3. 文件

我在yaml中使用加载配置。

这是我的 bootstrap.yml 文件(你也可以使用 .property 文件)

spring:
  application:
    name: SOAPProxy

---

spring:
  profiles: default
  cloud:
    consul:
      config:
        data-key: data
        prefix: config
        format: yaml
      host: localhost
      port: 8500
      discovery:
        prefer-ip-address: true  

我的启动应用注释如下

@EnableDiscoveryClient
@EnableAutoConfiguration
@SpringBootApplication
public class SpringBootConsulApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootConsulApplication.class, args);
    }
}

maven 依赖这样添加

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

这是领事代理键/值的配置

现在在启动时将所有配置加载到应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2018-12-29
    • 2021-03-01
    • 2019-03-26
    • 1970-01-01
    • 2021-07-21
    相关资源
    最近更新 更多