<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>lizongbo at 618119.com &#187; Hessian</title>
	<atom:link href="http://618119.com/category/rpc/hessian/feed" rel="self" type="application/rss+xml" />
	<link>http://618119.com</link>
	<description>工作,生活,Android,前端,Linode,Ubuntu,nginx,java,apache,tomcat,Resin,mina,Hessian,XMPP,RPC</description>
	<lastBuildDate>Tue, 31 Jan 2012 14:25:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>选择或设计实现远程RPC调用所需要考虑的n个方面</title>
		<link>http://618119.com/archives/2008/08/27/107.html</link>
		<comments>http://618119.com/archives/2008/08/27/107.html#comments</comments>
		<pubDate>Wed, 27 Aug 2008 15:33:28 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Hessian]]></category>
		<category><![CDATA[RMI]]></category>
		<category><![CDATA[RPC]]></category>
		<category><![CDATA[XML-RPC]]></category>
		<category><![CDATA[google protobuf]]></category>
		<category><![CDATA[thrift]]></category>

		<guid isPermaLink="false">http://618119.com/archives/2008/08/27/107.html</guid>
		<description><![CDATA[选择或设计实现远程RPC调用所需要考虑的n个方面 (前段时间记录的零散片段，却一直没时间仔细整理，仅记录在此，以做备忘。) 可参考协议(组件)为： http,smtp,pop,ftp,dns，burlap,json,xml-rpc,xmpp,smpp,rmi,soap,hessian,thrift ， protocol buffers等等 需要考虑以下方面： 必备条件： a.多语言支持 b.强大的序列化和反序列化(xml,text,pdu,text+stream) c.多种传输模式 1.服务端所支持的编程语言。 java,C,C++,C#,PHP等等 2.客户端支持的语言。 java,C,C++,JavaScript等 3.字节流转码。 支持GBK,UTF-8等。 4.支持的基础数据类型。 char,int,long,double,floadt,boolean,List,Map,Object(Struct) 5.同名重载方法区别 6.支持数据包的转发代理 （前端负载均衡） 7.自定义超时连接 8.数据包转换 （对象的序列化和反序列化） 9.数据类型扩展 10.类与接口实现的约束 11.是否支持负载限制 （比如超过100并发时，直接返回系统忙） 12.failover处理 13.事务控制 14.异步调用 15.数据包版本自动识别 16.TCP/UDP支持 (UDP 有1472字节限制。) 17.代码生成器（主要针对数据包的序列化） 18.与现有框架的整合难度(组件化程度) 19.大文件传输 21.数据包序列化效率 客户端连接池 应用范围 22.网络带宽约束（数据包是否支持压缩） 23.服务接口监控统计 数据包加密 SSL支持 是否需要握手消息(是需多次交互还是简单的请求应答模式) 调试抓包的方便性 是否支持双向调用(xmpp支持) 部署难易程度 参数配置难度 是否支持请求队列 请求应答的对应关系 协议可读性 [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2008/08/27/107.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HessianServlet和HessianProxyFactory的配置参数</title>
		<link>http://618119.com/archives/2008/07/27/106.html</link>
		<comments>http://618119.com/archives/2008/07/27/106.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 06:20:13 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Hessian]]></category>
		<category><![CDATA[RPC]]></category>

		<guid isPermaLink="false">http://618119.com/?p=106</guid>
		<description><![CDATA[HessianServlet和HessianProxyFactory的配置参数 home-class，service-class,表示Service的实现类的类名 home-api，api-class，是Service的接口类名 object-class,不太了解 object-api，不太了解， debug,调试开关，默认为false，需要设置为true的时候，值必须是&#8221;true&#8221;，区分大小写(不建议设置为true) send-collection-type,设置SerializerFactory是否在序列化的数据里传递集合类的类型名，默认为true,需要设置为false的时候， 值必须是&#8221;false&#8221;，区分大小写(不建议设置为false) 其实 SerializerFactory还有个 _isAllowNonSerializable属性，控制是否接受对没有实现 java.io.Serializable接口的对象， 通过setAllowNonSerializable来控制， 默认是不接受，为false，而HessianServlet却没提供这个参数的控制开关，因此如果要支持传输没有实现java.io.Serializable接口的对象， 则需要继承HessianServlet来加上相应控制，重载getSerializerFactory方法来设置参数或增加扩展的SerializerFactory, 而无法通过直接配置HessianServlet的初始化参数来实现。 先前提到的 hessian  3.1.5里hession2.0 有bug ，在hessian 3.1.6里依然存在,在hessian 3.2.0中将被修正. 参考： http://maillist.caucho.com/pipermail/hessian-interest/2008-July/000405.html ServiceContext存放了线程局部变量request, ServiceContext.getContextRequest() HessianProxyFactory 设置的 _isOverloadEnabled 可支持同名重载方法。 不过不建议在接口中使用同名方法和变长参数。 _user和_password是设置 http basic认证的用户名和密码。 _isDebug，调试开关 _isHessian2Reply，_isHessian2Request，是否使用hessian 2.0协议发送请求。 _isChunkedPost,设置Chunked编码方式发送请求。 Tags: Hessian, RPC]]></description>
		<wfw:commentRss>http://618119.com/archives/2008/07/27/106.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>hessian 3.1.5的bug及相关例子</title>
		<link>http://618119.com/archives/2008/04/12/81.html</link>
		<comments>http://618119.com/archives/2008/04/12/81.html#comments</comments>
		<pubDate>Sat, 12 Apr 2008 14:26:17 +0000</pubDate>
		<dc:creator>lizongbo</dc:creator>
				<category><![CDATA[Hessian]]></category>
		<category><![CDATA[RPC]]></category>
		<category><![CDATA[]]></category>
		<category><![CDATA[apache mina]]></category>

		<guid isPermaLink="false">http://618119.com/archives/2008/04/12/81.html</guid>
		<description><![CDATA[hessian 3.1.5的下载地址在： http://hessian.caucho.com/download/hessian-3.1.5.jar http://hessian.caucho.com/download/hessian-3.1.5-src.jar http://hessian.caucho.com/download/hessian-test.jar 来源： http://hessian.caucho.com/#Java 假如客户端以Hessian2协议进行传输数据，以HessianMetaInfoAPI接口方式调用_hessian_getAttribute方法。 那么com.caucho.hessian.server.HessianSkeleton.java里， 在调用的 第  160行的地方，缺少一句  out.close(); 其它几个return的地方，也缺少 out.close(); 否则会遇到如下的错误信息 Caused by: com.caucho.hessian.io.HessianProtocolException: expected hessian reply at end of file ? at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2701) at com.caucho.hessian.io.Hessian2Input.startReply(Hessian2Input.java:405) at com.lizongbo.hessian.client.HessianProxy.invoke(HessianProxy.java:65) 独立使用 HessianSkeleton进行处理的时候， //HessianSkeleton hs=null; //Hessian2Input h2i=null; try { h2i.readCall(); //这行代码非常重要，否则无法正确调用invoke。HessianServlet里有类似的调用 // 对应的是   int code = in.read(); //     int major = in.read(); //      [...]]]></description>
		<wfw:commentRss>http://618119.com/archives/2008/04/12/81.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

