当前位置: 首页 > 知识库问答 >
问题:

Spring云总线-刷新特定的客户端集群

凌景辉
2023-03-14

我在Kafka的spring云总线上配置了一个spring云配置服务器。我正在使用Edgware。随boot 1.5.9一起发布。当我向endpoint/总线/刷新发送POST请求时,destination=clientId:dev:*在主体中通过POSTMAN to config server,所有客户端都会刷新其bean,即使其clientId与destination字段中的值不匹配。

以下是其他配置详细信息:

spring云配置服务器

pom。xml

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-monitor</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-kafka</artifactId>
    </dependency>

应用属性

server.port=8888
management.security.enabled=false
spring.cloud.bus.enabled=true
spring.kafka.bootstrap-servers=localhost:9092

我有两个配置客户端,id-config-client1和config-client2

在为config-client2更改存储库中的应用程序属性后,我向配置服务器上的/bus/refreshendpoint提交一个POST请求,请求主体中的destination=config-client2:dev:*。我希望这将只在config-client2应用程序中刷新/重新初始化bean。但我注意到配置客户端应用程序中的bean也被刷新/重新初始化。我还注意到配置客户端应用程序与config-client2一起接收刷新事件。

我希望只有config-client2应用程序接收到事件,并且它的bean是唯一因此而刷新的。

想知道我是否缺少任何配置设置以在特定客户端级别启用粒度刷新。

我确实查阅了张贴在-http://cloud.spring.io/spring-cloud-static/Edgware.RELEASE/single/spring-cloud.html,但结果并没有得到解释。

任何对工作示例的帮助都是值得赞赏的。

共有1个答案

徐绪
2023-03-14

您可以使用:

Curl-X POSThttp://localhost:8001/actuator/bus-refresh/config-client2

在应用程序中也需要此功能。属性或。yml。

Spring云配置。uri=http://localhost:8001

Spring云配置。uri应该指向Spring配置服务器

 类似资料:
  • 我的Spring云配置客户端依赖于Spring。云起动机。公共汽车amqp,但它仍然没有启用总线/刷新endpoint 我在配置客户端应用程序中有这些依赖项,但仍然没有启用总线/刷新、总线/环境。 请让我知道我的客户申请中缺少什么。 注: 我尝试在应用程序中设置这些指标。yml或应用程序。属性,因为这些属性由总线自动配置用来启用endpoint。 在我的Spring Cloud Config Se

  • 我有一个使用Spring云配置和Spring云总线的配置服务器,还有一些客户端也有Spring云总线。每次更改配置时,我都使用postman向配置服务器发送/总线/刷新。我找到了两种方法: 刷新特定客户端:http://localhost/bus/refresh/app1:dev:8080 刷新所有客户端:http://localhost/bus/refresh 有没有办法用一个post请求刷新两

  • 使用spring-Cloud网关2.0.0. M5,我在配置文件(application.yml)中定义路由。我试图通过调用POST来更新这些路由 /application/gateway/refresh. 修改后的路由或新路由不会被刷新,即使我看到(带有断点)实际上执行了刷新例程。 当在配置文件中定义路由时,刷新应该工作吗?我错过了什么? 用例是在spring配置服务器中定义的路由。

  • 我发现Spring Cloud总线不支持在Spring Cloud版本2020.0.0上对/执行器/总线刷新的POST请求。当我尝试发送它时,我收到405“方法不允许”。是否有任何方法可以在不使用/monitor和git webhooks或降级Spring云版本的情况下自动刷新所有客户端服务的配置? 我已经包括了spring cloud starter总线amqp和spring boot star

  • 我正在使用Spring cloud config Finchley。M8版本,带Spring防尘套2.0.0。释放我注意到/总线/刷新已更改为/总线刷新。但每当我使用post http请求点击url时,它都不起作用。下面是应用程序的一个片段。属性: 此外,我扩展了WebSecurityConfigrerAdapter以添加以下代码片段: 这是我尝试测试的url: 然后我收到了以下错误消息 另外,这

  • 我有一个客户端,它监听配置服务器。配置服务器指向github。使用localhost时一切正常。然而,当我将应用程序部署到Kubernetes时,用于刷新属性的客户端endpoint无法正常工作。 endpoint(后):http://config-client.sbx.com/actuator/refresh 这将在Postman“[]”上返回一个空响应,响应代码为200 OK。我能够看到配置服