SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client
阿新 • • 發佈:2019-01-01
ive eid over 無法找到 解決方案 spring one gin depend
在 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