2

对于即将到来的项目,我计划使用 Apache Commons Configuration。

我想使用该库从/向数据库读取和写入给定应用程序的所有配置。

我们要求跟踪所有配置更改(或配置版本)。此更改跟踪也应存储在数据库中。

配置更改不会经常发生。

我想知道实现此更改跟踪功能的最佳方法是什么?Apache Commons 本身是否有一些支持?是否有另一个适合的框架/库?

4

1 回答 1

2

不幸的是,我认为 Apache Commons 配置与您对更改跟踪配置数据库的要求之间没有任何重叠。

如果您需要将配置存储在数据库中,我怀疑您需要另一个框架或推出自己的解决方案。关于。数据库,2个想法:

  1. 您可以使用有效起始/有效截止日期存储配置。当前配置将是具有空有效日期的配置,并且您将在更新配置时设置有效日期
  2. 一些数据库支持版本化数据的概念。例如,Oracle 具有闪回功能,您只需重新编写数据库实体,Oracle 会在那时记录该表的一个版本(具体情况可能要复杂得多)。如果您只是想要配置更改的历史记录用于审计目的,这可能是一个有用的解决方案。

另一种解决方案是使用 SCM 管理您的配置,并将此类配置与版本一起打包/部署。例如,在您的源代码存储库中创建 dev/test/prod 配置并管理那里的更改。将这些配置包装在您的可部署并发布到适当的环境中。您拥有 SCM 的更改跟踪功能,但无法轻松跟踪部署环境中发生的更改。您的变更管理流程可能/可能不允许这样做。

上面的修改版本将允许您在部署的环境中使用您的 SCM 解决方案,例如将配置检出到您的产品环境中。我承认,我没有看到这个使用了很多。这意味着您的开发和生产环境之间的桥梁/依赖关系,这可能是一座太远的桥梁。

于 2012-12-27T16:19:03.800 回答