1. 程式人生 > >SpringCloud Config Bus webhook 只能重新整理config server 不能重新整理config client

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了。