引言:
今天同事老姜在使用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, 初始化环境
Ice.Communicator ic = Ice.Util.initialize(initData);
Ice.Properties afterProperties = ic.getProperties();
System.out.println(afterProperties.getProperty("Ice.MessageSizeMax"));
// 2, 初始化Adapter
其中:
L2:beforeProperties,创建一个空的配置文件
L9:afterProperties,从生成的通讯员拿回的配置信息
意图就在验证设置是否生效。验证效果如下
10240
10240
<<HelloUID started>>
成功了。
最后特别要
强调的是:如果在服务方Ice.Communicator设置了“Ice.MessageSizeMax”,请务必在客户方也设置。
因为网上问这一问题得多,完整处理的没有,又算不上什么技术活,笔者在此叨叨一下。有问题欢迎追问,邮件或贴都喜欢~。=
(完结)
分享到:
相关推荐
META-INF/MANIFEST.MF com.ice.jni.registry.HexNumberFormat.class com.ice.jni.registry.NoSuchKeyException.class com.ice.jni.registry.NoSuchValueException.class com.ice.jni.registry.RegBinaryValue.class ...
com.ice.jni.registry.RegMultiStringValue.class com.ice.jni.registry.RegBinaryValue.class com.ice.jni.registry.RegistryException.class com.ice.jni.registry.NoSuchValueException.class ...
本文将深入探讨名为"ICE"的MATLAB源码,它源自冈萨雷斯的《数字图像处理》一书,并结合提供的ice.m文件,解析其核心功能和实现原理。 "ICE"是Image Contrast Enhancement(图像对比度增强)的缩写,是数字图像处理...
这里提到的`com.ice.jni.registry`是一个Java库,它提供了这样的功能,利用JNI(Java Native Interface)技术实现了对注册表的原生访问。JNI是Java平台的一部分,允许Java代码和其他语言写的代码进行交互,特别是在...
matlab ice.fig 函数源代码
在Java中,由于安全性限制,通常不直接支持对注册表的操作,因此,`com.ice.jni.registry`包提供了一个桥梁,使得Java开发者能够绕过这些限制,进行必要的系统设置和配置管理。 描述指出这个包是用于“读取修改...
io.ice.app.MainApplication.apk
Ice.jar Jar包
infobright-4.0.7-0-x86_64-ice.rpm infobright社区版,本来就是开源的东西,还要资源分,没办法了,只能选最低2分, csdn禁止重复上传,于是采用了压缩包加密上传,zip解压,密码是2CcMBzP8,云盘分享:htt去ps://...
ICE.dll3.3.0.0版本,找了很久才找到! 网络通信引擎ICE(Internet Communications Engine)是Zero C公司的分布式系统开发专家实现的一种新的高性能的面向对象中间件平台。从根本上说, ICE 为构建面向对象的客户-...
Exception in thread Ice.ConnectionRefusedException error = 0 at IceInternal.Network.doFinishConnect(Network.java:417) at IceInternal.TcpTransceiver.initialize(TcpTransceiver.java:33) at Ice....
ice.jar(3.7.0版本),也是走过坑,如果套的,终于找到了
标题"infobright-4.0.7-0-src-ice.tar.gz"指的是Infobright数据库的4.0.7版本的源代码压缩包,其中“-src”表示这是源代码版本,而非编译后的二进制文件。“ice”可能是特定分支或特性的标识,但具体含义可能需要...
这是一个开发框架,适合新手练习,框架性能优秀,可以提高开发效率;
【PJBlog3 ice.v2模板】是一款专为PJBlog3平台设计的网页模板,它提供了全新的视觉体验和交互设计,旨在提升博客站点的整体风格和用户体验。PJBlog3是一款开源的博客系统,它允许用户轻松创建和管理自己的个人或专业...
在你提供的信息中,“infobright-4.0.7-0-x86_64-ice.rpm”是Infobright的一个特定版本,适用于64位的Linux操作系统。RPM(Red Hat Package Manager)是一种广泛使用的软件包管理格式,它允许用户方便地安装、升级和...
《深入理解Ice.jar在Java中的应用》 Ice.jar,作为Java调用ICE(Internet Communication Engine)框架的关键组件,是开发分布式应用程序不可或缺的一部分。ICE是一种高性能、跨语言的中间件,它提供了一种简单而...
ICE.SCHLIB.schlib
这是继ice入门例子的第二个例子,主要讲述Ice.Application与配置文件的简单使用 所需jar在lib中 这个例子中集成了日志插件,在服务器启动时,该插件会工作一次, 文件名:config.server 服务端配置文件 #配置...