使用Apache Commons Configuration跟踪更改

时间:2012-12-27 16:01:56

标签: java apache configuration change-tracking apache-commons-config

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

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

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

配置更改不会经常发生。

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

1 个答案:

答案 0 :(得分:2)

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

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

  1. 您可以使用有效起始/有效日期存储配置。当前配置将是具有null有效日期的配置,并且您在更新配置时设置有效日期
  2. 某些数据库支持版本化数据的概念。例如。 Oracle具有flashback功能,您只需重新编写数据库实体,Oracle就会记录该表的版本(具体情况可能要复杂得多)。如果您只是想要用于审计目的的配置更改历史记录,那么这可能是一个有用的解决方案。
  3. 另一种解决方案是使用SCM管理配置,并使用版本打包/部署此类配置。例如在源代码存储库中创建dev / test / prod配置并管理其中的更改。将这些配置包装在您的可部署中并发布到适当的环境中。您具有SCM的更改跟踪功能,但无法轻松跟踪已部署环境中发生的更改。您的变更管理流程可能/可能不允许这样做。

    上述修订版本允许您在已部署的环境中使用SCM解决方案,例如:检查配置到你的prod环境。我承认,我没有看到过这么多用过的东西。它意味着开发和生产环境之间的桥梁/依赖关系,这可能是一个过头的桥梁。