引言java
今天不聊技术,只聊人生。分享一下我在使用Spring Cloud Config过程当中遇到的坑,以及是如何解决的,这其中,主要看解决方法和思路,技术只占一小部分。一家之言, 仅供参考.git
正文github
在某个特别适合敲代码的深夜,我使用SpringCloud Config(如下简称Config)搭配SpringCloud Bus(如下简称Bus)实现动态刷新配置. 使用的SpringCloud版本是Finchley.M2,M2就是里程碑版本,非正式版.spring
要实现配置动态刷新, 修改配置后, Bus会发送消息到MQ, 我发现这一步就走不通. 因而测试
怀疑是否是我用的姿式不对, 新版本有变化? 查阅官方文档,个人用法没问题.google
老外的效率很高, 次日就把这个bug fix了, 若是我要立马用的话, 必须用Finchley.BUILD-SNAPSHOT版本, 这里顺便提一下, SNAPSHOT版本是可覆盖的版本, 今天看到的Finchley.BUILD-SNAPSHOT和明天看到的Finchley.BUILD-SNAPSHOT极可能是不同的.spa
Bus的坑算是已经填好了, 但让我意识到, 里程碑版本应该不少坑等着我.....但, 本身选择的路, 跪着也要走完......
在测试git的WebHooks时, 发现Gitee的推送无效, Github是没问题的. 因而插件
因此只能本身先去看源码了, 看看究竟是什么问题, 一说到看源码, 不少人可能就要头疼了, 由于源码不少, 不知道从哪下手, 若是你能这么想, 说明你还挺聪明的, 至少第一想法不是把源码所有阅读完. 从哪下手呢?code
打开源码一看, 原来Config只对如下git服务作了适配blog
若是git服务不在3者内, Conifg还有个通配的
遗憾的是, Gitee的WebHooks Request里并无path字段, 因此也没有触发Config. 我还对比了Gitee和Github的WebHooks推送的字段区别, 发现Gitee并无如下的字段 added, removed等
好吧, 说干就干, 提了一个pr, 提个pr也不容易啊
单测什么的就不说了, 这是必须的, 让我之外的是, 连import的顺序也有要求, 好比, 必须
import java.util.Collection; import org.springframework.core.Ordered;
下面这种写法是不容许的
import org.springframework.core.Ordered; import java.util.Collection;
为此他们提供了一份代码格式化的插件.
代码修改的同时, 文档也要相应的修改.
此次pr整整20多天才merged进去, 代码会在Config 2.0.0.M8里面.
后记
有的人或者团队, 遇到此类问题, 可能会fork一份源码, 这样本身改掉立马就可使用. 这让我想起一段话, 大意以下:
做者:廖师兄 连接:https://www.imooc.com/article/23703 来源:慕课网 本文原创发布于慕课网 ,转载请注明出处,谢谢合做