1. 程式人生 > >SrpingCloud ---github上面如何使用webHook實現配置檔案修改 ,客戶端自動重新整理

SrpingCloud ---github上面如何使用webHook實現配置檔案修改 ,客戶端自動重新整理

SrpingCloud —github上面如何使用webHook實現配置檔案修改 ,客戶端自動重新整理

一:客戶端(消費者)端新增maven依賴

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

增加了spring-boot-starter-actuator包,spring-boot-starter-actuator是一套監控的功能,可以監控程式在執行時狀態,其中就包括/refresh的功能。

二Controller層開啟自動更新機制

需要給載入變數的類上面載入@RefreshScope,在客戶端執行/refresh的時候就會更新此類下面的變數值。

package com.demo.web;

import com.demo.feign.HelloRemote;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import
org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by wo on 2018-03-08. */ @RestController @RefreshScope// 使用該註解的類,會在接到SpringCloud配置中心配置重新整理的時候, // 自動將新的配置更新到該類對應的欄位中
public class ConsumeController { @Autowired private HelloRemote helloRemote; @RequestMapping("/hello/{name}") public String index(@PathVariable("name") String name) { return helloRemote.dc(); } @Value("${neo.hello}") private String hello; @RequestMapping("/hello") public String from() { return this.hello; } }

三:配置檔案修改

springboot 1.5.X 以上預設開通了安全認證,所以需要在配置檔案application.properties新增以下配置

management.security.enabled=false

四:測試

五:提交程式碼就自動呼叫客戶端來更新

5.1## github上配置WebHook

這裡寫圖片描述

引數說明:

Payload URL :觸發後回撥的URL
Content type :資料格式,兩種一般使用json
Secret :用作給POST的body加密的字串。採用HMAC演算法
events :觸發的事件列表。

events事件型別 描述
push 倉庫有push時觸發。預設事件
create 當有分支或標籤被建立時觸發
這樣我們就可以利用hook的機制去觸發客戶端的更新,但是當客戶端越來越多的時候hook支援的已經不夠優雅,另外每次增加客戶端都需要改動hook也是不現實的。其實Spring Cloud給了我們更好解決方案,後面文章來介紹。

相關推薦

SrpingCloud ---github上面如何使用webHook實現配置檔案修改 客戶自動重新整理

SrpingCloud —github上面如何使用webHook實現配置檔案修改 ,客戶端自動重新整理 一:客戶端(消費者)端新增maven依賴 <dependency> <groupId>org.springframewor

01 Nginx安裝 nginx下部署專案nginx conf配置檔案修改相關檔案配置

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                2 下載pcre,這個是一個正則表示式的庫,Nginx做rewriter的時候回用到這個庫:選中右擊複製所需要的版本:4.將下面安裝檔案上傳到Linux伺服

vim 配置檔案.vimrc高亮+自動縮排+行號+摺疊+優化

set mouse=aset cursorline " 突出顯示當前行set ruler " 開啟狀態列標尺set shiftwidth=4 " 設定 << 和 >> 命令移動時的寬度為 4set softtabstop=4 " 使得按退格鍵時可以一次刪掉 4 個空格set tabs

實現SpringCloud Config 客戶自動重新整理

一、簡介 在使用SpringCloud Config客戶端時,如果Config服務端配置檔案發現了變化,如果客戶端需要同步的話,需要手動的訪問客戶端的/refresh(POST請求)端點來重新整理客戶端配置 使用定時器的方式來解決手動重新整理 1、找到類org.

Spring Cloud Config 之svn配置倉庫與動態重新整理客戶自動重新整理

終於進入正文了,上篇完成了手動重新整理,貌似這種手動重新整理不是太好,因為你怎麼知道什麼時候去更新配置?我們的初衷是隻要配置檔案目錄下的檔案改變了,就要重新載入配置,也就是在svn倉庫的config目錄下的配置檔案改動自動重新整理 目前來看就兩個問題: 1:我怎麼確定是哪個

java實現:對jar包中的配置檔案修改

注:只修改檔案,其他會被清空  package com.mtpc.admin.util; import java.io.*; import java.util.*; import java.util.jar.JarEntry; import java.util.jar.J

properties配置檔案修改後讀取不到的解決方法【終極方案】

相信很多人也都遇到過這個問題了,最近又一次遇到了,不是讀不到內容就是報 IllegalArgumentException: Malformed \uxxxx encoding.這次小結一下之前的解決方法。 1.將工程clean一下,然後繼續跑,如果解決就OK,不行看第二條。 2.終極方案:更換

一臺機器上搭建多個redis例項的配置檔案修改部分

1、單個redis服務搭建請參考:redis服務搭建 2、一臺Redis伺服器,分成多個節點,每個節點分配一個埠(6380,6381…),預設埠是6379。 每個節點對應一個Redis配置檔案,如: redis6380.conf、redis6381.conf #cp redis.conf

一臺電腦執行多個tomcat配置檔案修改

修改conf下 server.xml檔案 <!--#####第一個要改的地方 8087 --> <Server port="8007" shutdown="SHUTDOWN"> <!--#####第二個要改的地方 908

hbase叢集啟動配置檔案修改

1.修改hbase-env.sh export JAVA_HOME=/usr/java/jdk1.7.0_55 告訴hbase使用外部的zk export HBASE_MANAGES_ZK=false 2.修改hbase-site.xml hbase.ro

通過配置檔案修改docker容器埠對映

有時候,我們需要給正在執行的容器新增埠對映,百度一下發現很多都是通過iptables,或者是通過將當前容器通過docker commit命令提交為一個映象,然後重新執行docker run命令新增埠對映。這種方法雖然可以,但是感覺好像有點南轅北轍,沒有必要啊。看了很多文章,貌

jupyter notebook配置檔案修改注意事項--遠端訪問

安裝 安裝完jupyter如果想要遠端訪問需要修改配置檔案,但安裝完之後不預設生成配置檔案需要執行: jupyter notebook --generate-config 控制端裡面會顯示建立配置檔案的路徑: 配置檔案是一個python原始檔,裡

ubuntu16.04下mysql5.7支援utf-8編碼格式配置檔案修改步驟

1,開啟終端 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 在檔案的  [mysqld]  #  # * Basic Settings  #  user  

mysql5.6.34在預設配置檔案修改字符集為utf8後重啟mysql服務沒效果

1:事情是這樣的,我下載了一個mysql5.6.34版本(windows版本的),下載下來后里面只有個my-default.ini,然後我就直接在my-default.ini 裡面配置basedir,datadir,port。 2:然後我的javaweb程式連線資料庫後,出

vue打包之後生成一個配置檔案修改介面的方法

前言: 我們的vue程式碼打包上傳到伺服器之後,要是資料介面 以後換了域名什麼的,是不是需要重新去vue檔案裡修改介面。 能不能生成一個配置檔案,裡面可以配置域名或其它什麼欄位之類的,這樣以後換了域名,只需開啟記事本 修改一下域名即可。 教程: 第一步:安裝generate-

webpack+vue打包之後輸出配置檔案修改介面檔案

用vue-cli構建的專案通常是採用前後端分離的開發模式,也就是前端與後臺完全分離,此時就需要將後臺介面地址打包進專案中,but,難道我們只是改個介面地址也要重新打包嗎?當然不行了,那就太麻煩了,怎麼解決呢?其實方法很多,接下來我推薦一種最便捷的方法,也是最容易操作的方法。1

java 4種方式讀取配置檔案 + 修改配置檔案

方式一:採用ServletContext讀取,讀取配置檔案的realpath,然後通過檔案流讀取出來。 因為是用ServletContext讀取檔案路徑,所以配置檔案可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。檔案存放位置具

linux 配置檔案修改後立即生效命令

profile修改後立即生效命令 方法1: 讓/etc/profile檔案修改後立即生效 ,可以使用如下命令:  # . /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 讓/etc/profile檔案修改後立即生效 ,可以使用如下命令:

YOLO訓練自己資料集配置檔案修改.md

VOC2016 最早1093張personVOC2017 劉堯792張personVOC2018 恩德792張person_handVOC2019 person_head_hand(hand/hand1) 但是可以不生成hand1的labelVOC2020 person_head_hand size=224*

tomcat中設定全域性變數(vm options)實現配置檔案和專案分離

tomcat中設定全域性變數實現配置檔案和專案分離 由於專案中使用的檔案較多,每次上線需要將包中的properties檔案刪除比較麻煩,所以需要將這些配置檔案放在伺服器一個指定的目錄中,這樣專案中就不包含這些配置檔案方便部署。 那麼如何載入這些配置檔案?