gpt4 book ai didi

Spring boot 从领事服务器获取属性

转载 作者:行者123 更新时间:2023-12-04 18:26:51 25 4
gpt4 key购买 nike

我有一个 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 加载配置

  • 键/值
  • yaml
  • 文件

  • 我在 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>

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

    enter image description here

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

    关于Spring boot 从领事服务器获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42561136/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com