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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM