Udemy 課程Microservices with Spring Cloud 31
目前limits-service是取用自己的application.properties內的數值
接著要讓limits-service取Confi Server上的環境設定數值
第一件事是更改application.properties的名稱
目前改名為:bootstrap.properties
原本的內容:
刪除後面兩行並加上:
spring.cloud.config.uri=http://localhost:8088
為什麼改名:
先啟動Config Server再啟動limit-service
會看到limit-service的console會去吃http://localhost:8088的default設定
其關聯是因為limits-service的bootstrap.properties內第一行
spring.application.name=limits-service
對應Config Server內的
先不管如何改取用dev或uat
進到http://localhost:8089/limits看到真的吃到設定值了!!雖然只是default的
程式執行看起來流程如下
spring-cloud-config-server(也就是Config Server)啟動後準備
接著啟動limits-service專案,啟動過程去跟Config Server要設定
Config Server接到上述要求,去跟Git拿設定來回覆
limits-service專案拿到設定值,之後啟動完成
接著我們希望limits-service改拿dev或uat的
改寫其bootstrap.properties
加上一行:
spring.profiles.active=dev
儲存後重新啟動limits-service
此時可以試著直接改寫imits-service-dev.properties
由目前的
改為
重新進到網址:http://localhost:8089/limits
因為改了還沒透過git commit!!
所以重做git commit
重新進到網址:http://localhost:8089/limits
因為limits-service只在project啟動時才會去跟Config Server要設定
所以重啟limits-service專案
再次進到網址:http://localhost:8089/limits
目前發現不管最後設定有沒有commit,只要Config Server重啟就會吃到當下的設定!!!!!!講師也有發現這個local repo的行為模式see spring cloud課程67
另外服務專案觸發Config Server專案取得遠端git設定檔要透過
其中target/temp是指Config Server clone下來的設定檔儲放的位置
預設會跑到C槽個人路徑下的temp資料挾
在此希望同Config Server消失而消失
所以會放到自己專案內