WEB开发网
开发学院软件开发C++ 应用程序的配置管理Poco 阅读

应用程序的配置管理Poco

 2011-01-23 09:59:58 来源:WEB开发网   
核心提示: Poco::AbstractConfiguration及其子类是Poco提供的操作配置文件的接口,这组接口将配置文件抽象为名值对,应用程序的配置管理Poco,Poco::Util::Application实现了自动寻找配置文件并加载配置文件的功能,使用时有三个要点: (1)写一个与应用程序同名的配置文件放在软件的

   Poco::AbstractConfiguration及其子类是Poco提供的操作配置文件的接口,这组接口将配置文件抽象为名值对。Poco::Util::Application实现了自动寻找配置文件并加载配置文件的功能,使用时有三个要点:

   (1)写一个与应用程序同名的配置文件放在软件的启动目录中

   (2)重载Application::initialize(Application & self),在其中调用loadConfiguration(),如下

protected:

void initialize(Application& self)

{

loadConfiguration(); // load default configuration files, if present

Application::initialize(self);

}

   (3)在使用配置文件的位置通过Application::config()获取加载的配置文件,如下

#include "Poco/Util/Application.h"

//

Poco::Util::AbstractConfiguration & config(Poco::Util::Application::instance().config());

config.getString("key", "value");


    Poco中有关配置管理的类型如下图所示:

其中,AbstractConfiguration是基类,提供以下方法:createView, enumerate, expand, getBool, getDouble, getInt, getRaw, getRawString, getString, hasOption, hasProperty, keys, parseBool, parseInt, setBool, setDouble, setInt, setRaw, setString,具体类实现如下功能:

  • IniFileConfiguration ini文件

  • XMLConfiguration xml文件

  • FilesystemConfiguration 将每个数据保存在一个文件中,用目录树管理配置

  • PropertyFileConfiguration 处理Javaproperty文件

  • SystemConfiguration 提供操作系统的版本号及环境变量

  • MapConfiguration 这是一个具体实现,(key, value)保存在map

  • WinRegistryConfiguration操作Windows系统的注册表

以下adapter类提供灵活的使用以上具体类功能的策略

  • ConfigurationMapper 将一个配置树映射到另一个配置树下

  • LayeredConfiguration将多个配置树叠加在一起,根据优先级从中选择配置

  • ConfigurationView 从一个配置树中截取出一部分,是对配置树的一个视图

 

Kerberos LDAP 主-从配置管理

Tags:应用程序 配置管理 Poco

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接