`
yaozhiqiang109
  • 浏览: 119461 次
  • 性别: 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
分享到:
评论

相关推荐

    spring远程调用简单实例

    在IT行业中,Spring框架是Java开发中的一个核心组件,它为构建高质量的、松散耦合的、可测试的应用程序提供了强大的支持...在实际应用中,Spring远程调用可以作为一个强大的工具,帮助我们构建可扩展、灵活的服务架构。

    Spring中集成Hessian的问题

    在Spring框架中集成Hessian是为了...总的来说,Spring与Hessian的集成提供了便捷的远程调用方案,但需要注意性能优化、安全性以及故障排查。通过深入学习和实践,我们可以更好地利用Hessian来构建高性能的分布式系统。

    Hessian的Spring配置

    Hessian提供了高效的二进制RPC协议,使得远程调用变得简单而快速。 **Hessian的基本原理** Hessian基于HTTP协议,它将Java对象转换为高效的二进制格式,以减少网络传输的数据量。它同时支持服务端和客户端之间的...

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

    首先,我们需要定义一个服务接口,例如`HelloService`,包含一个或多个方法,这些方法将被远程调用。然后,我们需要实现这个接口并部署为一个Hessian服务。在服务器端,通过HessianServlet来暴露这个服务,客户端则...

    spring整合hessian进行远程通讯

    标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...

    Hessian远程调用框架学习一

    Hessian远程调用框架是基于Java的轻量级RPC(Remote Procedure Call)解决方案,它允许开发者在分布式系统中实现高效、便捷的跨网络对象方法调用。本教程将引导你入门Hessian,通过一个简单的JAVA demo来理解其工作...

    外部接口调用 使用spring4+hessian4实例

    3. Spring4的AOP概念,虽然在远程调用中可能不是直接应用,但理解AOP可以帮助设计更灵活的服务。 4. Servlet容器(如Tomcat)的工作原理,因为Hessian服务通常以Servlet的形式部署。 5. HTTP协议基础,理解请求和...

    在 Spring Web Flow 项目中应用 Hessian 服务

    例如,通过缓存策略可以减少不必要的远程调用;使用Hessian的版本机制,可以兼容服务的升级;结合负载均衡器,可以将请求分发到多个Hessian服务实例,提高系统的可用性和可扩展性。 综上所述,将Hessian服务应用于...

    远程调用服务框架

    Spring通过HessianProtocolFactoryBean实现了Hessian服务的消费和发布,使得远程调用更加高效便捷。 4. **HTTP Invoker**:HTTP Invoker是Spring为Java对象提供的另一种远程调用方案,它基于HTTP协议,但提供了类似...

    Spring集成Hessian案例

    Hessian协议支持多种数据类型,并且能够自动处理Java对象的序列化和反序列化,使得远程调用如同本地调用一样便捷。 Spring集成Hessian的过程主要包括以下几个步骤: 1. **定义服务接口**:首先,我们需要创建一个...

    外部接口调用 使用spring4+hessian4实例(二)

    Hessian4相对于其他远程调用方案,其优点在于它提供了良好的性能和低开销,因为它是基于二进制的,而非XML或JSON。然而,它也有一些限制,例如不支持所有Java类型,而且由于其二进制格式,调试和跨语言支持可能较为...

    spring aop hessian 基础demo 部署即可运行

    在Spring中,Hessian通常用来实现远程服务调用。通过AOP,我们可以对Hessian服务进行拦截,添加如日志、性能监控等额外功能。以下是一个基本的步骤: 1. **创建Hessian服务**:首先,我们需要定义一个服务接口和其...

    Spring整合Hessian访问远程服务

    在Spring框架中,服务的暴露和消费可以通过Spring的`&lt;bean&gt;`标签进行配置,而整合Hessian,我们将利用Spring的`&lt;bean&gt;`标签和Hessian的`hessian-proxy-factory-bean`来实现。 **Hessian服务端创建** 1. 引入...

    Hessian与Spring整合需要jar包

    1. **Hessian库**:这是实现Hessian RPC的基础,包含了序列化和反序列化的类以及远程调用的相关接口。主要的jar包有`hessian.jar`,它提供了Hessian协议的实现。 2. **Spring库**:Spring的核心库,如`spring-...

    Hessian与spring整合

    综上所述,"Hessian与Spring整合"的核心是利用Spring的管理能力,结合Hessian的高效远程调用特性,构建可扩展、易于管理和维护的分布式服务系统。通过这种方式,开发者可以专注于业务逻辑,而无需过于关注底层通信...

    hessian与spring整合的jar包

    6. 运行并测试服务,确保远程调用的正确性。 通过这种整合,开发者可以享受到Spring的灵活性和Hessian的高效网络通信,从而构建出高性能、可维护的分布式系统。在实际项目中,这种整合可以极大地提高开发效率和系统...

Global site tag (gtag.js) - Google Analytics