君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

2012年6月20日 #

摘要: 为了解决RCP客户端与后台业务层交互的问题,我找到了Spring提供的Http Invoker。给我的感觉就是:不用知道,一用吓一跳,居然会如此简单!为了确保文章简明性和程序的可运行性,我抽出了Http Invoker的基本框架,做了一个简单的演示程序来演示Http Invoker的工作过程(附源代码)。About Http InvokerSpring开发小组意识到在RMI服务和基于HTTP的服务(如Hessian和Burlap)之间的空白。一方面,RMI使用Java标准的对象序列化,但很难穿越防火墙;另一方面,Hessian/Burlap能很好地穿过防火墙工作,但使用自己私有的一套对象序列化 阅读全文
posted @ 2012-06-20 08:55 刺猬的温驯 阅读(846) 评论(0) 推荐(0) 编辑

摘要: Http Invoker使用HTTP传送物件,传送时使用Java的序列化机制来传送,由于透过HTTP传送,所以 在使用它们时要搭配Spring Web框架来使用,也就是使用到DispatcherServlet,可以改写 Hessian、 Burlap,只要修改一下service‐config.xml就可以了:• service‐config.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"& 阅读全文
posted @ 2012-06-20 08:34 刺猬的温驯 阅读(477) 评论(0) 推荐(0) 编辑

摘要: RMI (Remote Method Invocation)是从 JDK 1.1 开始就出现的 API 功能,它让客户端在使用远 端物件所提供的服务时,就如何使用本地物件一样,然而 RMI 在使用时必须一连串繁复的手续, 像是服务介 面在定义时必须继承 java.rmi.Remote 介面、服务 Server 在实作时必须继承 java.rmi.UnicastRemoteObject 类 别、必须使用 rmic 指令产生 stub 与 skeleton 等,设定上 手续繁杂。您可以在 Spring 中透过 org.springframework.remoting.rmi.RmiServiceE 阅读全文
posted @ 2012-06-20 08:33 刺猬的温驯 阅读(331) 评论(0) 推荐(0) 编辑

摘要: Hessian、Burlap是由Caucho Technology(http://www.caucho.com/)所提出,透过HTTP实现的远 程服务。 Hessian是将物件以中性的二进位讯息使用HTTP进行传送,而不若RMI使用Java的序列化格式,由 于该二进位讯息是中性的,因此不受限于某种程式语言所实现的客户端或伺服端,二进位资料在 传输时所需的频宽较小是其优点。Burlap则是将物件以XML文件格式进行传送,XML文件且有较高的可读性,只要应用程式可以剖 析XML文件就可以解读所接收的讯息,当然也不受限于某种语言所实现的客户端与伺服端。在Spring中使用Hessian及Burlap 阅读全文
posted @ 2012-06-20 08:26 刺猬的温驯 阅读(1041) 评论(0) 推荐(0) 编辑

摘要: Spring框架对远程访问技术提供了很好的集成机制,Spring目前支持的技术包括:1. Remote Method Invocation (RMI)。通过 RmiProxyFactoryBean和RmiServiceExporter,Spring支持以java.rmi.Remote和java.rmi.RemoteException 定义的传统RMI接口,提供经由RMI的透明访问;2.Spring内置的HTTP invoker远程调用机制。Spring开发团队意识到在RMI服务和基于HTTP的服务(如Hessian和Burlap)之间的空白。一方面,RMI使用Java标准的对象序列化,但很难穿 阅读全文
posted @ 2012-06-20 08:19 刺猬的温驯 阅读(308) 评论(0) 推荐(0) 编辑

摘要: Java远程通讯可选技术及原理在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯的技术和原理的介绍。基本原理要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需 阅读全文
posted @ 2012-06-20 08:04 刺猬的温驯 阅读(438) 评论(0) 推荐(0) 编辑

摘要: 今天用spring的rmi,启动似乎不注册rmi服务。最后手工的加载bean,成了。 晕,在配置头的时候设置default-lazy-init="true",延迟加载的说。 顺便贴代码 服务器端配置文件<!--服务--><beanid="myService"class="org.spring.rmi.yoara.MyServiceImpl"/><!--RmiServiceExporter此类封装了生成stub的方法,大大简化代码--><beanid="serviceExporter& 阅读全文
posted @ 2012-06-20 07:38 刺猬的温驯 阅读(1760) 评论(0) 推荐(0) 编辑

摘要: Hessian和Burlap都是基于HTTP的,解决了RMI头疼的防火墙问题。并且它们都是非常轻量级的,足以在内存或空间受限制的环境下使用,例如applet和无线设备。 Hessian是基于二进制码的传输方式,Burlap是基于XML的传输方式,前者在网络传输的上具有优势,后者在没有实现Hessian(JAVA)语言或可读性上更具优势。 废话不多,最关心的是怎么配置,既然有spring做框架,就舍弃配置繁琐的纯Hessian和Burlap的方式。这两者的配置方式是大同小异的。需要导入两个包dist/modules/spring-webmvc.jar和/lib/caucho/hessian.j. 阅读全文
posted @ 2012-06-20 07:34 刺猬的温驯 阅读(1418) 评论(0) 推荐(0) 编辑