0
我可以爲最佳實踐管理屬性做些什麼?什麼是最適合我的管理屬性?
- 我想爲每個部署的環境設置不同的屬性。
- 我的一些開發人員無法檢測到我的真實服務器屬性。我想要使用相同的命令(使用maven。不想-P dev,-P生產選項)生成項目
- 我不想太多的源代碼來加載我的屬性(如implements db訪問)
- 當某些屬性已更改時,可以繼續我的服務而無需重新啓動。
我的服務是用spring-web開發的。
我可以爲最佳實踐管理屬性做些什麼?什麼是最適合我的管理屬性?
我的服務是用spring-web開發的。
你有2個問題:
1)如何有戰爭文件之外的性能,我建議你做到以下幾點:
@PropertySource(value={"classpath:/config.properties", "file:${configRoot}/config.properties"}, ignoreResourceNotFound = true)
然後,當你開始你的應用程序,你可以指定configRoot作爲JVM的系統屬性,即-DconfigRoot =/var/config。然後你可以指定一個默認配置,它將從戰爭中拉出。如果找不到文件:$ {configRoot} /config.properties「},那麼使用ignoreResourceNotFound將會使用第一個文件,也就是說,您可以在war中使用默認值,並在運行時使用JVM系統參數覆蓋該文件。
2)如何自動刷新
看this answer告訴春天刷新它的時間表屬性: