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

  • 相关阅读:
    http 学习 1-1 chapter1-HTTP概述
    2048 游戏实现原理
    safari 日期对象新建new Date( timeStr ) 参数TimeStr格式
    js
    js 常见弹出框学习
    JS引入CSS文件
    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
    java复制文件 转
    Map键值对,一种思路
    写入excel表格数据
  • 原文地址:https://www.cnblogs.com/yfzhou/p/10203573.html
Copyright © 2020-2023  润新知