我有一个通过卡夫卡的弹簧云总线配置的弹簧云配置服务器。我正在使用带有引导 1.5.9 的 Edgware.RELEASE。当我通过 POSTMAN 在正文中向端点 /bus/refresh 发送一个带有destination=clientId:dev:** 的POST 请求到配置服务器时,所有客户端都会刷新它们的bean,即使它们的clientId 与目的地字段。
以下是其他配置详细信息:
春天云配置服务器
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/refresh 端点提交了一个 POST 请求,请求正文中包含 destination=config-client2:dev:**。我希望这只会在 config-client2 应用程序中刷新/重新初始化 bean。但我注意到配置客户端应用程序中的 bean 也被刷新/重新初始化。我还注意到 config-client 应用程序与 config-client2 一起接收刷新事件。
我希望只有 config-client2 应用程序接收到该事件,并且它的 bean 是唯一因此而被刷新的。
想知道我是否缺少任何配置设置以在特定客户端级别启用精细刷新。
我确实浏览了发布在 - http://cloud.spring.io/spring-cloud-static/Edgware.RELEASE/single/spring-cloud.html的文档,但结果与解释不符。
感谢您对工作示例的任何帮助。