`
yaozhiqiang109
  • 浏览: 117620 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring中的远程调用Hessian

阅读更多

Hessian:采用的是二进制RPC协议,因为采用的是二进制协议。
    Hessian通过其自定义的串行化机制将请求信息进行序列化,产生二进制流,基于Http协议进行传输,
    响应端根据Hessian提供的API来接收请求,Hessian根据其私有的串行化机制来将请求信息进行反序列化,
    传递给使用者时已是相应的请求信息对象了。

Spring的hessian远程调用
客户端:

<bean id="testHessianServiceClient" 
class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
      <!--访问服务端的路径--> 
      <property name="serviceUrl">
         <value>
            ${client.remote.url}/callClientHessian
         </value>
       </property>
      <!--是否允许方法重载,默认为false-->
      <property name="overloadEnabled" value="true"></property>
       <!--服务端接口-->
    <property name="serviceInterface">
            <value>com.test.hessian.HessianService</value>
     </property>
</bean>

 
serviceInterface  是RemoteAccessor抽象类的属性

serviceUrl  是UrlBasedRemoteAccessor抽象类的属性

UrlBasedRemoteAccessor抽象类继承RemoteAccessor抽象类


服务端:
<bean id="service" class="com.test.hessian.TestService" />

<bean name="/callClientHessian" class="org.springframework.remoting.caucho.HessianServiceExporter">
     <property name="service" ref="service" />
     <property name="serviceInterface">
              <value>com.test.hessian.HessianService</value>
      </property>
</bean>

 


service,serviceInterface都是RemoteExporter抽象类的属性

 

web.xml中配置

	<servlet>
		<servlet-name>spring-remote</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>spring-remote</servlet-name>
		<url-pattern>/remote/*</url-pattern>
	</servlet-mapping>

 

注意:在使用hessian的时候遇到一个问题,就是在客户端不能有与服务端接口名称相同的接口,否则客户端就直接找客户端的接口了,而不找远程的接口

备注:相关的jar包。commons-logging-1.1.1.jar,hessian-3.2.0.jar,log4j-1.2.9.jar,
spring.jar spring-web.jar spring-webmvc.jar

 

hessian就像是远程注入,服务端创建服务,客户端调用

 

1
0
分享到:
评论

相关推荐

    轻量级远程服务调用Hessian的入门实例和与Spring整合的实例.zip

    纯Hessian的入门例子教程,还有Hessian和Spring整合的例子教程。 代码上传之前都运行通过的

    Spring 实现远程访问详解——rmi

    1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...

    远程调用服务框架

    给予spring的框架。 封装了xfire、rmi、hessian、httpinvoker 客户端可以统一调用,省略了远程调用的编码。 服务通过服务ID和服务接口来调用。

    struts2+ibatis+spring+Hessian 整合项目

    struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...

    Hessian的使用配置步骤

    远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供...

    hessian-demo和hessian与spring整合demo.doc

    Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI(Remote Method Invocation,远程方法调用)的功能。采用的是二进制RPC(Remote Procedure Call Protocol,远程过程调用协议)协议,因为采用...

    spring jar 包详解

    (9) spring-remoting.jar 这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 (10) spring-support.jar 这个jar文件包含支持缓存Cache(ehcache)、JCA、...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.2. 在Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. ...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    hessian远程通信

    本示例是hessian与spring整合的,客户端与服务端相互调用的最完整例子。

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

     这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 (10) spring-support.jar  这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java ...

    spring in action英文版

     6.1 Spring远程调用概览  6.2 与RMI一起工作  6.2.1 连接RMI服务  6.2.2 输出RMI服务  6.3 使用Hessian和Burlap的远程调用  6.3.1 访问Hessian/Burlap服务  6.3.2 用Hessian或Burlap公开Bean的...

    word源码java-fleet-spring-boot:SpringBoot教程,SpringBoot的各种简单示例,快速入门使用Sprin

    word源码java fleet-spring-boot ...远程调用框架 :Spring Boot Hessian 远程调用框架 :Spring Boot Forest Http 请求 :Spring Boot HTTP 访问控制 :Spring Boot GraphQL 构建 API :Spring Boot

    最新最全的spring开发包

     这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 (10) spring-support.jar  这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java ...

    Spring in Action(第二版 中文高清版).part2

    8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或Burlap公开Bean的功能 8.4 使用...

    Spring in Action(第二版 中文高清版).part1

    8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或Burlap公开Bean的功能 8.4 使用...

    Spring 2.0 开发参考手册

    17.3. 使用Hessian或者Burlap通过HTTP远程调用服务 17.3.1. 为Hessian配置DispatcherServlet 17.3.2. 使用HessianServiceExporter暴露你的bean 17.3.3. 客户端连接服务 17.3.4. 使用Burlap 17.3.5. 对通过...

    Spring in Action(第2版)中文版

    8.1spring远程调用概览 8.2与rmi一起工作 8.2.1连接rmi服务 8.2.2输出rmi服务 8.3使用hessian和burlap的远程调用 8.3.1访问hessian/burlap服务 8.3.2用hessian或burlap公开bean的功能 8.4使用httpinvoker ...

    Spring In Action 简体中文CHM版.rar

    Spring In Action 简体中文CHM版  很多你开发的应用会像被遗弃... 本册子将涉及与RMI一起工作、使用Hessian和Burlap的远程调用、JMS发送消息、使用Tile设计页面布局、保护Web应用程序、使用JAX-RPC的Web Service等。

    thrift-spring-http代码实例

    本文借鉴spring对hessian的支持,实现spring对Thrift的支持。服务端主要使用了spring的HttpRequestHandler接口...客户端主要使用spring的MethodInterceptor和UrlBasedRemoteAccessor以及代理来实现对服务端的远程调用。

Global site tag (gtag.js) - Google Analytics