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檔案刪除比較麻煩,所以需要將這些配置檔案放在伺服器一個指定的目錄中,這樣專案中就不包含這些配置檔案方便部署。 那麼如何載入這些配置檔案?