我已经在 tomcat 中从 webapps 外部化了我的所有应用程序所需的属性文件。现在我可以简单地更改属性文件值,而无需重新构建 war 文件并再次部署它。但是,对属性文件的每次更改都与服务器回收相关联。
有没有一种方法可以避免属性文件更改的回收。
我正在使用 spring 读取少数 webapps 的属性文件和少数 webapps 的 java 属性传统方式。
请建议如何实现
最佳答案
您可能需要考虑 spring-cloud-config-server或 spring-cloud-consul所有这些选项都支持分布式属性管理以及值更改刷新,而无需回收应用服务器。
您可以使用 @RefreshScope
Spring @Beans
如果希望在配置更改时重新初始化,他们还提供以下开箱即用的管理端点以及更多,如项目 git page 中所述。
/refresh
用于刷新 @RefreshScope
bean /restart
用于重新启动 Spring 上下文(默认禁用)这由任一选项(spring-cloud-config-server 或 spring-cloud-consul)支持
关于spring - 无需重新启动服务器即可更改属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158167/