Springboot配置文件Nacos和環(huán)境變量優(yōu)先級詳解
背景
我們在開發(fā)的時候,使用的k8s部署spring boot服務,服務連接nacos獲取配置文件。
在配置spring boot的服務的時候,會設置環(huán)境變量,來指定spring.profile.active。后來為了方便部署,把nacos的一些配置提到了環(huán)境變量。
通過K8S 的env來進行配置。但是后來發(fā)現(xiàn)env不會生效,而是nacos生效。
這和平時認為的觀點有些出入。因為平時配置的時候,都認為是env 環(huán)境變量的優(yōu)先級比nacos要高一些。
結(jié)論
先說結(jié)論:
env
一般配置在nacos加載之前的配置,所以認為其優(yōu)先級比較高nacos
可以通過占位符來進行配置,如果env包含占位符的信息,則會使env生效。
所以在env一般配置決定于nacos加載的內(nèi)容。
例如,active,nacos的連接配置信息。
生效的順序如下:
越靠前優(yōu)先級越高(應該是相應的越晚加載,有待考證)
nacos-{active} 配置 > nacos 配置 > java -jar 命令行配置 > 環(huán)境變量 > application-{active} > application > bootstrap-{active} > bootstrap
如果nacos里面通過 這樣的${} 占位符進行替換。那么占位符的內(nèi)容將更生效。
同時占位符的配置也會有優(yōu)先級的順序。
nacos 配置 充當占位符 > java -jar 命令行配置 充當占位符 > 環(huán)境變量 充當占位符 > nacos-{active} 配置 > ……
之后再補充設計的實驗。
最后
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java WebSocket實現(xiàn)聊天消息推送功能
這篇文章主要為大家詳細介紹了java WebSocket實現(xiàn)聊天消息推送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07springboot實現(xiàn)添加郵件發(fā)送及壓縮功能
這篇文章主要介紹了springboot實現(xiàn)添加郵件發(fā)送及壓縮功能 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07