在运行时更新属性文件

时间:2013-04-02 09:56:58

标签: java spring java-ee

我有一个使用Spring的项目(比如A)。对于少数任务,项目A在内部依赖于其他项目(说B)。所以B项目URL可以在A Project的server.properties文件中配置。

所以现在每次B项目的URL都被更改,然后我必须关闭A Project,更改server.properties文件中的URL,然后再次启动服务器。

所以我要求用户使用GUI输入新的URL并在运行时更改URL。

我知道可以在运行时更改属性的值,但是它将仅为该会话设置,而不是对属性文件的实际修改,并且一旦服务器再次重新启动,它将引用旧URL,因为实际会话中存在更改,而不是实际的属性文件。

我的实际需要是更改应该反映在属性文件中(以便将来重启服务器应该有效)以及bean配置文件(对于当前会话 - 我知道如何操作。)

现在我的要求是,每当配置中出现任何变化时,它也应该物​​理地更改属性文件...有没有任何巧妙的方法来执行此操作而不是读取文件并搜索该密钥然后替换子字符串。

是否有任何第三方API可以很好地完成这项工作。

2 个答案:

答案 0 :(得分:0)

您可以查看commons configuration。请参阅基于文件的保存并重新加载here

答案 1 :(得分:0)

您可以使用Commons Configuration API在运行时更新属性文件,然后按键获取值。这是好工作example update and read properties

希望这有帮助!