1. 程式人生 > >《Spring Cloud Config官方文件》之推送通知和Spring Cloud匯流排

《Spring Cloud Config官方文件》之推送通知和Spring Cloud匯流排

9. 推送通知和Spring Cloud匯流排

許多原始碼儲存庫提供者(例如Github,Gitlab或Bitbucket)會通過webhook通知你儲存庫中的變化。您可以通過提供商的使用者介面將webhook配置為您感興趣的URL和一組事件。例如, Github 將通過一個包含提交列表的JSON主體和一個等於“push”的頭部“X-Github-Event”來POST webhook。如果您在spring-cloud-config-monitor庫中添加了依賴項並在Config Server中激活了Spring Cloud Bus,則會啟用“/ monitor”節點。

當webhook被啟用時,配置伺服器將傳送一個 RefreshRemoteApplicationEvent

針對它認為可能已經改變的應用程式。更改檢測可以制定策略,但預設情況下它只是查詢與應用程式名稱匹配的檔案中的更改(例如,“foo.properties”針對“foo”應用程式,“application.properties”針對所有應用程式) 。如果要覆蓋該行為,則該策略PropertyPathNotificationExtractor 將接受請求標頭和主體作為引數,並返回已更改的檔案路徑的列表。

使用Github,Gitlab或Bitbucket時,預設的配置是可以使用的。除了來自Github,Gitlab或Bitbucket的JSON通知之外,您還可以通過釋出帶有表單編碼body引數path={name}

的“/ monitor”來觸發更改通知。這將傳播到匹配“{name}”模式的應用程式(可以包含萬用字元)。

如果spring-cloud-bus是在配置伺服器和客戶端應用程式啟用,則RefreshRemoteApplicationEvent將僅僅是用作傳輸。

預設的配置也檢測本地git倉庫中的檔案系統變化(在這種情況下webhook沒有被使用,但是一旦你編輯一個配置檔案,重新整理將被傳播)。