【问题标题】:Properties change with out a server restart无需重新启动服务器即可更改属性
【发布时间】:2015-11-16 10:51:00
【问题描述】:

我已经从 tomcat 中的 webapps 中外部化了我的所有应用程序所需的属性文件。现在我可以简单地更改属性文件的值,而无需重建 war 文件并再次部署它。但是,对属性文件的每次更改都与服务器回收相关联。

有没有一种方法可以避免属性文件更改的回收。 我正在使用 spring 来读取少数 webapps 的属性文件和 java property 传统方式的少数 webapps。

请建议如何实现

【问题讨论】:

标签: spring properties


【解决方案1】:

您也可以试试cfg4j。它支持从本地文件以及远程服务(git 存储库、Consul 等)重新加载配置。

【讨论】:

    【解决方案2】:

    您可能需要考虑spring-cloud-config-serverspring-cloud-consul,所有这些选项都支持分布式属性管理以及值更改刷新,而无需回收应用服务器。

    您可以将@RefreshScope 用于希望在配置更改时重新初始化的Spring @Beans,它们还提供以下开箱即用的管理端点以及更多如项目git page 中所述的更多内容

    • /refresh 用于刷新 @RefreshScope bean
    • /restart 用于重启 Spring 上下文(默认禁用)

    这由任一选项(spring-cloud-config-server 或 spring-cloud-consul)支持

    【讨论】:

    • 这仅适用于 Git repo 作为所有属性文件的位置。原生配置文件如何,带有属性的文件后端系统?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多