【问题标题】:How to use Apache Commons Configuration for our hierarchical organized config file?如何为我们的分层组织配置文件使用 Apache Commons 配置?
【发布时间】:2018-04-18 20:27:11
【问题描述】:

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

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

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

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

配置类型的数量在不久的将来会增加,并且在长廊上可能会增加更多

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

选择由文件系统结构化的文件中提供的配置有很多原因,在这里解释它们会离题很远。

  • root表示根目录
  • provider 和 customer 是根目录的子目录
  • elkconfiguration 是存储在根目录中的配置
  • 下一层是文件,例如瑞士或客户B
  • 下一级在文件中配置

在文件中进行配置并使用文件系统将它们构造为树是有很多原因的。解释这些原因就跑题了。尚未设置的是 Apache 通用配置。如果有开源,那更适合我们的需求,我很高兴听到你的建议。

【问题讨论】:

    标签: java apache-commons-config


    【解决方案1】:

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

    看看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);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-06
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      相关资源
      最近更新 更多