缺少 Spring Cloud Consul /refresh 端点

Posted

技术标签:

【中文标题】缺少 Spring Cloud Consul /refresh 端点【英文标题】:Spring Cloud Consul /refresh endpoint missing 【发布时间】:2016-07-20 04:12:33 【问题描述】:

我正在使用 Spring Cloud Consul 与 Consul 进行分布式配置,一切正常。当前所有配置都在应用程序启动时从 Consul 服务器成功读取。但是当 Consul 上的某些数据发生更改时,我无法为我的应用重新加载此配置,因为没有 /refresh 端点。但是here 说“向 /refresh 发送 HTTP POST 将导致重新加载配置。”据我了解,它应该类似于 Spring Cloud Config Client,但事实并非如此。我错过了什么?

【问题讨论】:

【参考方案1】:

您需要包含弹簧靴执行器

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

【讨论】:

【参考方案2】:

或者在你的bean上添加@RefreshScope,例如

@Component
@RefreshScope
public class MyConsulConfig  

@Value("$consul.base.url")
private String baseUrl;

【讨论】:

true..但它会刷新值而不需要调用 /refresh? Consul 有一个配置监视,当值更改时会刷新

以上是关于缺少 Spring Cloud Consul /refresh 端点的主要内容,如果未能解决你的问题,请参考以下文章

spring-cloud-starter-consul-config 和 spring-cloud-consul-config 区别是什么?从网上没有搜到答案,待跟进。

Spring Cloud Consul—git2consul与配置

“spring.cloud.consul.host”配置值可以有多个领事代理吗?

运行测试时禁用 Spring cloud consul

Spring Boot + Spring Cloud 集成 Consul 服务注册发现

Spring Cloud Bus与Consul