Hessian,Burlap是Caucho提供的两种基于Http的轻量级远程服务。
Hessian像RMI那样,使用二进制消息来建立客户端和服务端之间的交流。与其他二进制远程技术(想RMI)不同的是,它可以移植到其他非Java的语言。
Burlap是一种基于Xml的远程技术,这使得他可以移植到任何可以解析XML的语言中。比起Hessian,它的可读性更强。和其他基于Xml的远程技术(如SOAP和XML-RPC)不同,它的消息结构尽可能简单,不需要额外的外部定义语言(如WSDL或IDL).
针对前面的例子,看看spring对Hessian和Burlap是怎么简化。
1.Hessian
1)客户端的配置,只需要修改bean_client.xml的配置
< beans >
<!-- 客户端 -->
< bean id ="pf" class ="org.springframework.remoting.caucho.HessianProxyFactoryBean" >
< property name ="serviceUrl" value ="http://192.168.1.8:8080/spring/pay.service" />
< property name ="serviceInterface" value ="com.open.rmi.ex2.PerfectTimeI" />
</ bean >
< bean id ="test" class ="com.open.rmi.ex2.DisplayPerfectTime" >
< property name ="pf" ref ="pf" />
</ bean >
</ beans > Hessian和Burlap是基于Http的,http://192.168.1.8:8080/spring/pay.service是服务端的访问地址
2)服务端的配置,这里 采用spring的mvc
先在web.xml中增加下面的配置
< servlet >
< servlet-name > Dispatcher </ servlet-name >
< servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class >
</ servlet >
< servlet-mapping >
< servlet-name > Dispatcher </ servlet-name >
< url-pattern > *.service </ url-pattern >
</ servlet-mapping >
第一节中的bean_server.xml就改配置Dispatcher-servlet.xml文件中了
< beans >
< bean id ="urlMapping" class ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
< property name ="mappings" >
< props >
< prop key ="/pay.service" > hessianService </ prop >
</ props >
</ property >
</ bean >
< bean id ="hessianService" class ="org.springframework.remoting.caucho.HessianServiceExporter" >
< property name ="service" ref ="pt" />
< property name ="serviceInterface" value ="com.open.rmi.ex2.PerfectTimeI" />
</ bean >
< bean id ="pt" class ="com.open.rmi.ex2.PerfectTime" />
</ bean > 跟第一节的相比只是更换了代理类,启动tomcat,在运行TestClient就可以看到输出结果了
2.Burlap
只要把bean_client.xml中的HessianProxyFactoryBean 改成BurlapProxyFactoryBean,Dispatcher-servlet.xml中的HessianServiceExporter 改成BurlapServiceExporter,就可以了。
通过上面可以看到,应用从纯RMI转换到Hessian,Burlap是多么容易啊!
分享到:
相关推荐
Spring支持多种远程调用协议,如RMI(Remote Method Invocation)、Hessian、 Burlap以及HTTP Invoker等。这些协议允许我们跨越网络边界,像调用本地方法一样调用远程服务。 在本实例中,我们关注的是HTTP Invoker...
通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的暴露远程调用(支持任何Java接口)。...
Spring还提供了一个服务代理模型,可以方便地将本地服务包装为远程服务,或者消费远程服务,如RMI、Hessian或 Burlap等协议。 Hibernate作为ORM工具,使得开发者可以避免直接操作SQL,而是通过Java对象来与数据库...
标题 "spring远程调用和xfire aegis 源代码上传" 涉及到的是在Java开发中使用Spring框架进行远程过程调用(RPC)以及整合XFire和Aegis库来实现服务间的通信。这一主题是分布式系统设计中的一个重要组成部分,特别是...
标题与描述中提到的主题是“基于Spring的远程访问与Web Service”,这涉及到Spring框架在企业级应用中的关键特性——即其支持多种远程服务调用的方式,包括但不限于RMI、HTTP Invoker、Hessian、Burlap、JAX-RPC以及...
1. RMI(Remote Method Invocation):RMI是Java平台上的标准远程调用协议,Spring Remoting对RMI的支持非常全面。开发者可以通过实现Remote接口,创建远程服务,并通过RmiRegistry注册服务,客户端则通过...
Spring框架是Java开发中广泛应用的轻量级框架,它提供了丰富的功能来简化应用程序的构建...同时,这也是一个很好的起点,可以帮助开发者进一步探索Spring与其他远程调用协议,如Hessian、 Burlap或HTTP Invoker的集成。
Java远程技术是Java编程语言中用于实现远程通信的一系列技术手段,主要用于在不同计算机或不同进程间进行方法调用。在Java中,这种远程通信被称作远程过程调用(Remote Procedure Call, RPC)。以下是Java远程技术的...
Java中常见的序列化库有Hessian、Burlap、protobuf、Jackson等。 3. **网络通信框架**:Netty是一个高性能、异步事件驱动的网络应用框架,常用于构建RPC框架。它提供了高效的IO处理,支持多种传输协议,并且具有很...
- `org.springframework.remoting`: 这是Spring的远程调用支持包,包含了各种远程调用协议的实现,如HTTP Invoker、Hessian、 Burlap等。尽管不是直接针对RMI,但提供了远程调用的通用抽象。 - `org.spring...
同时,RMI也可以与Spring的其他远程服务支持,如Hessian、 Burlap等相结合,实现不同类型的远程调用。 总的来说,Spring RMI为开发者提供了一种简洁且强大的方式来实现分布式系统的组件交互,降低了远程服务开发的...
远程调用如RMI、Hessian、Burlap等,都可以通过Spring封装,使得开发者可以使用统一的模板方法来处理远程调用。消息服务方面,Spring提供了对JMS、AMQP等消息协议的抽象,简化了消息驱动Bean的开发。 书中提到的...
8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或Burlap公开Bean的功能 8.4 使用HTTP invoker 8.4.1 通过HTTP访问服务 8.4.2 把Bean作为HTTP服务公开 8.5 Spring和Web...
8. **替代方案**:随着技术的发展,Spring RMI已经被其他更现代的远程调用协议如Hessian、 Burlap、JMS、RESTful API等所取代。这些协议提供了更好的跨语言支持、更高的性能和更丰富的功能。 理解并熟练掌握Spring ...
4. **配合Spring Remoting**:Spring Remoting提供了一种抽象层,可以轻松地切换到其他远程调用机制,如Hessian、 Burlap或HTTP Invoker。这意味着如果你的系统开始时使用RMI,但后来希望切换到其他协议,Spring ...
第16章:讲述了Spring远程调用的技术,包括Hessian、Burlap和RMI等技术的集成。 第17章:介绍了使用Spring进行Web应用程序开发,包括Spring MVC的使用方法和高级特性。 第18章:讲解了Spring Web Flow和JavaServer...
9. **远程调用**:Spring支持RMI、Hessian、 Burlap等远程调用协议,方便分布式系统的开发。 10. **Web服务**:Spring Web Services模块提供了创建和消费SOAP服务的能力,同时支持WSDL-first和代码-first的开发方式...
Spring整合RMI(Remote Method Invocation)是将Spring框架与Java RMI技术相结合,实现远程服务调用的一种方式。RMI允许在分布式环境中调用对象的方法,就像调用本地对象一样,极大地增强了应用的可扩展性和灵活性。...
讲解如何利用Spring框架实现远程服务调用,包括RMI、Hessian、 Burlap等多种远程调用技术的集成。 **第7章:访问企业服务** 介绍如何使用Spring框架与企业级服务进行交互,如JMS、JNDI、JTA等,以及如何处理复杂的...