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

b5buobof  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(365)

我在kafka上的spring云总线上配置了一个spring云配置服务器。我正在使用edgware.release和boot 1.5.9。当我向endpoint/bus/refresh with destination发送post请求时=clientid:dev:**在body via 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更改存储库中的应用程序属性之后,我向config服务器上的/bus/refresh endpoint提交一个post请求,请求主体中的destination=config-client2:dev:*。我希望这只会刷新/重新初始化config-client2应用程序中的bean。但我注意到配置客户机应用程序中的bean也被刷新/重新初始化。我还注意到config客户端应用程序与config-client2一起接收刷新事件。
我希望只有config-client2应用程序接收到该事件,并且只有它的bean会因此而刷新。
不知道我是否缺少任何配置设置来在特定的客户端级别启用粒度刷新。
我看了贴在-http://cloud.spring.io/spring-cloud-static/edgware.release/single/spring-cloud.html,但结果并没有得到解释。
任何帮助与工作的例子是感激的。

tquggr8v

tquggr8v1#

您可以使用:
curl -x柱http://localhost:8001/执行器/总线刷新/config-client2
在application.properties或.yml中也需要这个。
spring.cloud.config.uri=http://localhost:8001
spring.cloud.config.uri应该指向spring配置服务器

相关问题