如何在我们的分层组织配置文件中使用Apache Commons Configuration?

时间:2018-04-18 20:27:12

标签: java apache-commons-config

我必须评估如何使用 Apache Commons配置 作为我们的配置结构

我只找到如何处理来自1个文件内的配置的分层结构。但是我如何处理两个屏幕中显示的分层结构。

我有许多配置文件存储在越来越多的子目录中。您可以在文件夹结构屏幕中看到最小化的示例 文件夹结构

folder structure

每个子目录包含相同配置类型的文件,每个文件包含分层有组织的信息。

配置类型的数量在不久的将来会增加,并且可能会在更长的大厅中增加

该目录目前将包含大约100个文件。每个文件代表一个客户的信息。

选择由文件系统构成的文件中提供的配置有很多原因,并且在这里解释它们将远离主题。

Screen of the hierarchical structure of the configuration

  • root表示根目录
  • 提供者,客户是根目录的子目录
  • elkconfiguration是存储在根目录
  • 中的配置
  • 下一级是文件,例如瑞士或客户B
  • 在文件中配置下一个级别

要在文件中进行配置并使用文件系统来构建它们,因为树的设置有很多原因。解释这些原因将偏离主题。尚未设置的是Apache Common Configuration。如果有开源,那就更好地满足了我们的需求,我很高兴听到您的建议。

1 个答案:

答案 0 :(得分:0)

您要求的是组合配置的自定义方式。

查看combined configurationCombinedConfigurationBuilder

你应该能够:

XMLConfiguration rootFolder = new XMLConfiguration();
XMLConfiguration providerFolder = new XMLConfiguration();
CombinedConfiguration config = new CombinedConfiguration(new OverrideCombiner());
config.addConfiguration(providerFolder); // provider overrides the root
config.addConfiguration(rootFolder);

此订单可以是配置驱动的,也是您将提供给配置管理器的定义。