浏览 1869 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-31
今天同事老姜在使用ICE的时候,遇到个异常,报告“冲突Ice.MessageSizeMax限制”异常。这个异常到底是怎么回事呢? 编译脚本 :http://zhaoningbo.iteye.com/admin/blogs/1135564(依赖Ice环境) 追究存在性:http://doc.zeroc.com/pages/viewpage.action?pageId=3900811 正文: 首先不得不赞美一下Zeroc Ice异常机制的人性化,很多时候直接报到“根源”(当然,遇上报Endpoint, socket, pipe纠结是必须的)。 解决方法,根据大宗使用手法可分以下几类: 1,基于IceGrid-IceBox/IceGrid部署 果断两大手法: (1)给“registry_node.config”(ICE注册及结点配置文件,忘名知意;-D)添加“Ice.MessageSizeMax”值为更合适的整数(不带单位,默认1024,即1024K)。 (2)IceGridGUI.jar跑起来,在界面给相应的“Server”添加一个“Ice.MessageSizeMax”属性及值。犀利些的,直接去“application.xml”玩吧。 2,基于Ice.Application的javac/java命令行 手法千千万,关注一个点: (1)Ice.Application.main(String appName, String[] args, T),在T上做文章。 然后,爱传配置文件的随便建个名字不跟“Ice命名犯冲”的名称,在T处放个文件路径;爱命令行思路的,直接丢个“Ice.MessageSizeMax=NNN”。爱传对象的,整个“Ice.InitializationData”…… 这里不写样例是因为Ice.Application.main(...)的一组方法有说明。 3,基于&*(^**,基于手写(编写测试图方便可能用到;-d) 先上样例代码 // 加载属性文件 Ice.Properties beforeProperties = Ice.Util.createProperties(); beforeProperties.setProperty("Ice.MessageSizeMax", "10240"); Ice.InitializationData initData = new Ice.InitializationData(); initData.properties = beforeProperties; System.out.println(beforeProperties.getProperty("Ice.MessageSizeMax")); // 1, 初始化环境 ic = Ice.Util.initialize(initData); Ice.Properties afterProperties = ic.getProperties(); System.out.println(afterProperties.getProperty("Ice.MessageSizeMax")); // 2, 初始化Adapter 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |