SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client

Posted _Yufan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client相关的知识,希望对你有一定的参考价值。

在 https://github.com/spring-cloud/spring-cloud-bus/issues/124 中有提到

版本

SpringCloud:Greenwich.RC1

原因

由于spring-cloud-starter-bus-amqp对config client的bus id定义有问题,导致无法找到github(或其他git仓库)更改所对应的服务

<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

BusEnvironmentPostProcessor.java 中对bus id 的定义:

private String getDefaultServiceId(ConfigurableEnvironment environment) {
        return "${vcap.application.name:${spring.application.name:application}}:${vcap.application.instance_index:${spring.application.index:${local.server.port:${server.port:0}}}}:${vcap.application.instance_id:${random.value}}";
    }

解决方案

在config client配置文件中加上:

spring:
  application:
    name: ding
  cloud:
    config:
      discovery:
        enabled: true
        service-id: config
      profile: ${spring.profiles.active}
    # 修复github webhook 只能刷新config server 无法刷新config client的问题
    bus:
      #Workaround for defect in https://github.com/spring-cloud/spring-cloud-bus/issues/124
      id: ${vcap.application.name:${spring.application.name:application}}:${vcap.application.instance_index:${spring.profiles.active:${local.server.port:${server.port:0}}}}:${vcap.application.instance_id:${random.value}}
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
logging:
  level:
    org.springframework.cloud: debug

重启,就可以发现可以刷新config client了。

以上是关于SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud 服务配置(Config) 和 服务总线(Bus)

SpringCloud 服务配置(Config) 和 服务总线(Bus)

SpringCloud 服务配置(Config) 和 服务总线(Bus)

springcloud21---Config-bus????????????????????????

springcloud-Config&Bus&Stream&Sleuth+Zipkin

springCloud-config-bus(十三)