`
想起要学好java
  • 浏览: 8761 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hessian使用和理解

    博客分类:
  • http
 
阅读更多
本文参考文档:
 
Hessian是一个轻量级的RPC框架
RPC框架就是提供远程调用的框架。Hessian在项目中的运用也是远程调用,如使用情况最多的是文件服务器和图片服务器,项目做大后,一搬会将应用单独部署到某些服务器上,而文件图片放另外的服务器,数据库也单独放服务器,这样可以提高应用并发处理的能力。那么应用需要对文件和图片进行处理时,就必须远程调用,这个时候就可以用Hessian作为框架。
 
基于Hessian的远程调用协议。
连接个数:多连接
连接方式:短连接
传输协议:HTTP
传输方式:同步传输
序列化:Hessian二进制序列化
适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。
适用场景:页面传输,文件传输,或与原生hessian服务互操作
(1) 约束:
参数及返回值需实现Serializable接口
参数及返回值不能自定义实现List, Map, Number, Date, Calendar等接口,只能用JDK自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。
 
Hessian的底层是基于http的传输协议,也是通过HttpUrlConnection也远程调用,将参数和返回值通过http进行传输,所以感觉和http没什么大的区别,但hessian对参数和返回的解析都进行了封装,不需要自己解析,同时,hessian和spring结合使用后,调用hessian的服务就相当于调用本地服务一样简单方便。具体可以看上面的文档,有详细的介绍。
 
下面结合项目具体说一下何如使用。
服务端配置:
<bean class="org.springframework.remoting.caucho.HessianServiceExporter" name="/ImageTest">
<property name="service" ref="hessianInerface" />
<property name="serviceInterface" value="com.lmw.p2p.image.HessianInerface" />
</bean>
 
<bean class="org.springframework.remoting.caucho.HessianServiceExporter" name="/FileDataTest">
<property name="service" ref="fileDataInerface" />
<property name="serviceInterface" value="com.lmw.p2p.file.FileDataInerface" />
</bean>
 
这里代表以/ImageTest为url的请求链接创建的hessian代理类,会指向服务端的hessianInerface这个接口。
 
消费端配置:
<bean id="imagesService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl"> 
    <value>${images.serviceUrl}</value> 
</property>
<property name="serviceInterface" value="com.lmw.p2p.image.HessianInerface" />
<property name="overloadEnabled" value="true" />
</bean>
 
<bean id="fileDataService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl"> 
    <value>${files.serviceUrl}</value> 
</property>
<property name="serviceInterface" value="com.lmw.p2p.file.FileDataInerface" />
<property name="overloadEnabled" value="true" />
</bean>
 
这个url就会指向上面服务端的hessianInerface这个接口。
 
消费端这样配置后,通过spring加载后,imagesService就可以在消费端的项目里直接使用,它指向的就是服务端的接口,就像调用本地的service服务一样。
在hessian底层中,会通过http实现远程调用。
分享到:
评论

相关推荐

    Hessian 使用小结

    1. **添加依赖**:首先,客户端和服务端都需要引入Hessian的jar包,以便使用其提供的API和功能。 2. **服务端设置**:在服务端,需要定义业务接口,并创建该接口的实现类。这个实现类需要继承`HessianServlet`,...

    hessian使用小例子

    在IT行业中,Hessian是一种轻量...通过这个简单的示例,我们可以看到如何在Java应用中集成和使用Hessian进行远程服务调用。在实际项目中,Hessian还可以与其他技术结合,如Spring框架,以实现更复杂的分布式系统架构。

    hessian学习基础篇——序列化和反序列化

    理解并掌握Hessian的基本概念和使用方法,能够提升我们的开发效率,优化应用程序的性能。在实际项目中,结合标签中的“源码”和“工具”,深入研究Hessian的源码和相关工具,可以帮助我们更好地应用这一技术。而...

    Hessian

    **Hessian:深入理解与应用** Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用...通过理解和掌握Hessian,开发者可以更有效地构建和优化分布式系统。

    hessian案例,hessian案例

    Hessian是一种高效的二进制序列化协议,常用于实现轻量级的远程过程调用(RPC)。这个案例涉及到了Hessian在Java和Python之间的...案例中的文件提供了不同角度的分析和实践指导,帮助我们更好地理解和应用Hessian技术。

    hessian

    Hessian是一种二进制Web服务协议,由Caucho ...理解和使用Hessian可以帮助我们构建更快速、更灵活的远程服务调用系统。通过深入研究源码和利用相关工具,我们可以更好地利用Hessian的优势来优化我们的应用程序。

    C#中Hessian的使用例子

    在.NET开发环境中,C#是一种常用的编程语言,而Hessian是一种二进制的远程方法调用(Remote Method ...通过理解Hessian协议的原理和使用方式,以及如何在C#中集成和配置,你可以创建出性能优异的远程调用解决方案。

    hessian学习实例

    在这个“hessian学习实例”中,我们将深入探讨Hessian框架的使用,特别是如何将其与Spring框架集成,以及如何构建server端和client端。 首先,让我们理解Hessian的工作原理。Hessian基于HTTP协议,它将Java对象序列...

    Hessian应用

    通过理解和掌握Hessian,开发者可以更好地设计和实现高并发、低延迟的服务架构,提升系统的整体性能。在实际工作中,结合源码阅读和工具运用,能够帮助我们更深入地理解Hessian的工作原理,从而灵活地运用到项目中去...

    dubbo-hessian协议http请求demo(java)

    在IT行业中,分布式服务框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理方案,它使得服务提供者可以在一个系统中发布服务...在实际项目中,可以根据业务需求和安全考虑,灵活调整和优化Hessian协议的使用方式。

    Hessian协议格式

    Hessian 协议格式 Hessian 协议是一种轻量级的 remoting on http 工具,使用简单的方法...通过对 Hessian 协议报文格式的分析,我们可以更好地理解 Hessian 协议的工作原理,并更好地应用 Hessian 协议在实际项目中。

    hessian demo 包括服务端和客户端

    在本"**Hessian Demo**"中,包含了服务端和客户端的示例代码,旨在帮助开发者快速理解和应用Hessian。 首先,我们来了解**Hessian服务端**的工作原理。服务端通常会暴露一个或多个接口,这些接口定义了可供客户端...

    使用hessian进行服务器-客户端通讯

    Hessian是一种二进制Web服务协议,它提供了一种高效的RPC(远程过程调用)机制,使得服务器和客户端之间能够进行快速、简单的通信。...通过理解和实践这个案例,你将能够熟练地在Java项目中使用Hessian进行远程调用。

    Hessian多个版本打包下载

    在使用这些Hessian版本时,开发者还需要关注如何正确地配置和集成到自己的项目中。这包括设置服务器端和客户端的Hessian服务,定义服务接口,处理序列化和反序列化的过程,以及调试可能出现的问题。在进行版本升级时...

    基于matlab使用 hessian 特征值增强 2D3D 图像中的血管脊状结构

    这篇教程主要探讨了如何利用MATLAB编程环境以及Hessian矩阵来增强2D和3D图像中的血管脊状结构。Hessian矩阵是一种数学工具,用于计算图像中像素点的二阶导数,从而帮助识别图像的边缘和特征点。 首先,我们要理解...

    springMVC hessian

    SpringMVC 和 Hessian 是两种在 Java 开发中常见的技术,它们在构建分布式系统时扮演着重要角色。SpringMVC 是 Spring 框架的一部分,主要用于构建 Web 应用的 MVC(模型-视图-控制器)架构。而 Hessian 是一种轻量...

    hessian服务端 客户端 可运行

    通过这个示例,你可以深入理解如何在Java环境中搭建和使用Hessian服务,以及如何在客户端进行远程调用,这对于理解和应用RPC技术是非常有价值的。同时,这也展示了Hessian在实现高效、轻量级的分布式系统中的潜力。

    hessian-4.0.33.jar

    通过深入理解Hessian协议和这个库的使用,开发者可以轻松地构建和消费跨网络的远程服务,提高系统的性能和响应速度。在实际开发中,根据项目需求和特性,合理选择并利用Hessian,可以大大提升系统的整体效能。

    Hessian和Spring集成示例

    同时,可以使用工具监控Hessian服务的性能和稳定性,以便及时发现并解决问题。 以上就是Hessian与Spring集成的基本过程和关键知识点。实际开发中,可能会遇到更多的细节问题,如版本兼容性、异常处理、事务控制等,...

    Hessian矩阵以及在血管增强中的应用—OpenCV3和c++版本代码工程

    Hessian矩阵是图像处理和计算机视觉领域中一个重要的数学工具,尤其在特征检测和结构分析...在深入理解Hessian矩阵及其应用的同时,也需要熟悉图像处理的基本原理和OpenCV库的使用,这样才能更好地实现和优化此类算法。

Global site tag (gtag.js) - Google Analytics