有了整体的了解后,可以发现Hessian的这个远程过程调用,完全使用动态代理来实现的,其实从客户端代码不难看出,HessianProxyFactory的create方法就是创建接口Basic的代理类,该类实现了Basic接口,JDK的proxy类会自动用 InvocationHandler 的实现类(该类在Hessian中表现为HessianProxy)的invoke方法体 来填充所生成代理类的方法体,从而实现远程调用,传输过程使用的是基于Http的二进制字节流。
RMI与Hessian的调用过程比较:
Hessian:客户端(basic.hello())——>序列化写到输出流——>远程方法 ...
Java RMI (Remote Method Invocation 远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
RMI目前使用Java远程消息交换协议JRMP(Java Remote ...
在处理Remote调用时,通常思路如下:
1. WebService跨平台,跨防火墙,但是很抱歉,基于xml速度慢
2. RMI(java)/Remoting(.net)平台相关,基于二进制序列化,速度快.
spring提供了第三种选择:轻量级http invoker
关于spring remoting支持,有四种方案:
1. 传统RMI.spring简化了RMI开发: JNDI没有启动时会自动启动/支持普通对象发布为RMI服务.
2. 基于http invoker.http+序列化.缺点:不支持回调
3. 基于caucho的Hessian.http+序列化.
4. 基于caucho的Bu ...
例如:输入"sh"然后按ctrl键或者按旁边的箭头,系统回发出get请求然后返回xml压缩格式
代码
/////////////////////////////
// XML Http Function //
////////////////////////////
function postXmlDocument(sUri, xmlDoc) {
var xmlHttp = XmlHttp.create();
var async = true;
xmlHttp.open("POST", sUri, async);
...
- 浏览: 36245 次
- 性别:

- 来自: 天堂和地狱的中间

- 详细资料
搜索本博客
我的相册
烦人的老婆
共 1 张
共 1 张
最近加入圈子
链接
最新评论
-
几种基于HTTP协议的RPC性 ...
还问一个问题,不知道你测试的相关软件的版本都是多少呢?
-- by general -
几种基于HTTP协议的RPC性 ...
我想问一下,hessian的加密解决该如何完成呢? 我找了很多网上很多内容,都无 ...
-- by general -
mysql中存储过程
不知道,有没有遇到需要根据表名返回表记录总数的情况(在oracle,mssqls ...
-- by superherosk123 -
JSP页面缓存设置
引用[i][/i]引用 [img][/img][url][/url][fl ...
-- by intogether -
JSP自定义标签学习心得
thank you
-- by zhengbin917943






评论排行榜