引言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 來源:慕課網 本文原創發佈於慕課網 ,轉載請註明出處,謝謝合做