ICE的属性设置

原创 2012年03月24日 22:38:34
1、ICE的属性即"name=value"值,具体的name范畴可以见后续描述。可以在程序中设置属性值到ICE的运行环境中
   但一定要注意在Communicator::Initialize方法调用之前设置好值,在之后设置的值会被ICE的运行环境忽略
2、属性名不能包含如下前缀:Ice、IceBox、IceGrid、IcePatch2、IceSSL、IceStorm、Freeze、Glacier2
3、属性名称和属性值中开始和结束的空格或者tab字符会被忽略
4、有一个特殊的属性Ice.Warn.UnusedProperties,将其设置为非零值,那么在communicator析构时会检测是否有
   属性从未读取过,则会报告异常,可用来检测是否有哪些属性因为名字拼写错误从未读取
5、设置属性的方式有如下几种
   A、通过简单的命令行参数指定:./server --Ice.Trace.Protocol=1
   B、通过配置文件指定: ./server --Ice.Config=/data/home/server.conf
   C、通过程序实现属性设置:setProperty("Ice.Trace.Protocol", "1");
6、ice的属性配置文件需要遵循以下规则:
   A、配置文件中以#开始的行为注释行
   B、配置文件中的特殊字符'#'、'\'、'='可以通过转移字符'\'来标示
   C、缺省配置文件通过环境变量ICE_CONFIG指定
   D、可以通过命令行参数--Ice.Config特殊指定配置文件路径
   E、命令行上的参数优先级高于配置文件中的优先级
   F、可以通过--Ice.Config指定多个属性配置文件,文件路径间以','分割
   G、不管输属性配置文件还是命令参数,后面的属性值会覆盖前面定义的属性值
7、在命令行上设置属性有如下几种格式:
   A、--Ice.Trace.Protocol=1               //将属性设置为1
   B、--Ice.Trace.Protocol                 //未标示值的属性值为1
   C、--Ice.Trace.Protocol=                //清除默认属性
8、应用程序中可以通过设置Ice.ProgramName来修改运行程序的名称
9、ICE的运行时环境维护一个程序的属性集合PropertiesPtr,可以通过如下方式获取一个属性集合:
   A、调用Ice::createProperties创建一个属性集合
   B、调用Ice::CommunicatorI::getProperties获取系统当前环境的属性集合
   C、调用
10、属性集合Properties提供如下方法用于属性的读写操作:
   A、std::string getProperty(const std::string&);
   B、std::string getPropertyWithDefault(const std::string&, const std::string&);
   C、Ice::Int getPropertyAsInt(const std::string&);
   D、Ice::Int getPropertyAsIntWithDefault(const std::string&, Ice::Int);
   E、PropertyDict getPropertiesForPrefix(const std::string&);
   F、void setProperty(const std::string&, const std::string&);
   G、PropertiesPtr clone();                   // 深度拷贝属性集合
   H、void load(const std::string&);           // 从配置文件中加载属性集合
   I、StringSeq getCommandLineOptions();       // 将属性解析成命令行格式
   J、StringSeq parseCommandLineOptions(const std::string&, const StringSeq&); // 从StringSeq中匹配前缀的参数解析成属性,并移除对应值
   K、StringSeq parseIceCommandLineOptions(const StringSeq&); // 从StringSeq中解析ICE运行环境属性,并移除对应值
11、setProperty方法一般需要在调用Communicator::initialize之前调用,常用的调用格式如下:
    Ice::InitializationData id;
    id.properties = Ice::createProperties(args);
    id.properties->setProperty("MyProperties", "abcdefg");
    _communicator = Ice::initialize(id);
12、属性集合对象提供的方法好多是基于StringSeq的,但是有些时候我们需要的是argc、argv这样的参数,那么ICE提供方法在其间进行转换:
    StringSeq Ice::argsToStringSeq(int argc, char* argv[]);
void Ice::stringSeqToArgs(const StringSeq& args, int& argc, char* argv[]);

Ice笔记---Ice属性与配置

1.      概述 Ice使用了一种配置机制,允许我们控制自己的Ice应用在运行时的许多行为,比如最大消息尺寸、线程数,是否产生网络跟踪消息。这种机制不仅能用于配置Ice,还可以用它来给自己的应用...
  • moxiaomomo
  • moxiaomomo
  • 2011年09月12日 10:08
  • 7393

ICE笔记(07):Ice属性和配置

【colorado】 按:摘编自DPWI第30章 通过配置文件可以设置Ice应用程序的各个方面,Ice运行时能够识别配置文件中规定的属性集。Ice只会在创建通信器时读入属性配置。也就是说,若要设置属性...
  • Colorado
  • Colorado
  • 2009年12月01日 07:45
  • 5904

ICE的属性配置

本文介绍了如何通过命令行参数或配置文件设置ICE的行为 在前一篇 文章中,大家可能都注意到了一个细节,Ice的初始化函数initialize 的输入参数正好是主函数的输入参数,也就是命令行参数(...
  • zhiweiarm
  • zhiweiarm
  • 2013年02月05日 11:07
  • 895

ICE学习(七)-线程池

线程池 服务器线程池 每个服务器(communicator)都有2个线程池: Client thread pool:处理对客户端请求的回复,并回调(通知客户端异步回调对象AMI callback ob...
  • kaede999
  • kaede999
  • 2015年10月22日 13:59
  • 2200

ICE 学习进阶4-配置属性

Ice Config
  • bruce_wang_janet
  • bruce_wang_janet
  • 2011年05月22日 08:38
  • 3309

Zeroc Ice开发环境搭建

Ice介绍         Ice(Internet Communications Engine)是ZeroC公司的杰作,继承了CORBA的血统,是新一代的面向对象的分布式系统中间件。Ice是RPC...
  • u013898698
  • u013898698
  • 2017年05月02日 17:45
  • 1098

反叛之冰:ZeroC ICE基础使用

1        系统环境 系统:Win7。 版本:JDK 1.8.0_91,ZeroC ICE 3.6.3。 2        基础 官网:https://zeroc.com 视频教程:https...
  • yh880610
  • yh880610
  • 2017年09月10日 11:36
  • 2038

ICE的日志和统计接口

1、获取日志对象:    virtual LoggerPtr getLogger() const; 2、日志对象提供的方法:    local interface Logger    {  ...
  • followshake
  • followshake
  • 2012年03月30日 22:12
  • 2528

ICE - 企业使用的工具

ICE zeroc ice,简称ice,是指ZeroC公司的ICE(Internet Communications Engine)中间件平台。对于客户端和服务端程序的开发提供了很大的便利。 外文...
  • Pan_cras
  • Pan_cras
  • 2016年08月04日 15:34
  • 334

架构的分类

在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜,但是总让很多刚入门的人感觉很神秘,甚至是高深莫测。很少有人对“架构”有全面的了解和认识能并说清楚架构是什么,更谈不上掌握了。事实上,...
  • xuwei198603
  • xuwei198603
  • 2015年06月11日 10:30
  • 667
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICE的属性设置
举报原因:
原因补充:

(最多只允许输入30个字)