hessian是一种基于二进制协议传输的分布式组件。因为基于二进制协议而不是像webservice那样,基于xml,所以传输效率会高一些。
虽然不太明白其中的原理,但用java开发的hessian在.net下也是可以调用的, 即可以说实现跨平台。这方面的例子在网上也很少,所以决定花些时间整理一下,本人对hessian的了解也很有限。
hessian有许多版本,大的版本有两个,spring2.x支持hessian3,spring3.x支持hessian4。本例子将采用ibatis2+springmvc3+spring3+hessian4开发。下面列出使用了hessian需要注意的地方。
1.实体类必须实现Serializable接口。
2.配置hessian服务端.
<!-- 使用HessianServiceExporter 将普通bean导出成Hessian服务-->
<bean id="HessianRemoting" name="/HessianRemoting" class="org.springframework.remoting.caucho.HessianServiceExporter">
<!-- 需要导出的目标bean-->
<property name="service" ref="depService"/>
<!-- Hessian服务的接口-->
<property name="serviceInterface" value="com.adtech.service.DepService"/>
</bean>
<bean id="hessianMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/services">HessianRemoting</prop>
</props>
</property>
</bean>
这个文件的文件名默认为remoting-servlet.xml,放在web-inf目录下。
3.客户端配置:
<bean id="myServiceClient" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl">
<value>http://localhost:8080/hessianService/remoting/services</value>
</property>
<property name="serviceInterface">
<value>com.adtech.service.DepService</value>
</property>
</bean>
4.客户端测试如下:
@Before
public void setUp() {
context = new ClassPathXmlApplicationContext("remoting-client.xml");
}
@Test
public void getAllDep() {
DepService depService = (DepService) context.getBean("myServiceClient");
System.out.println(depService.getAllDeps());
}
从上面过程可以看出,其实在spring下开发hessian服务是一件相当简单的事。
分享到:
相关推荐
本文将深入探讨如何利用Maven这一强大的构建工具来构建一个多模块的Hessian应用。Hessian是一种轻量级的二进制RPC协议,它能够高效地处理远程方法调用,尤其适用于分布式系统中的服务间通信。 首先,让我们了解...
平均来看,Hessian较RMI要慢20%左右,但这只是在数据量特别大,数据结构很复杂的情况下才能体现出来,中等或少量数据时,Hessian并不比RMI慢。 Hessian的好处是精简高效,可以跨语言使用,而且协议规范公开,我们...
一个简单的Hessian应用可能包括以下部分: 1. **服务端**:定义一个名为`Calculator`的接口,包含`add(int a, int b)`方法。实现`CalculatorImpl`类,并在Servlet容器(如Tomcat)中部署HessianServlet,将`...
Hessian矩阵是图像处理和计算机视觉领域中一个重要的数学工具,尤其在特征检测和结构分析...在深入理解Hessian矩阵及其应用的同时,也需要熟悉图像处理的基本原理和OpenCV库的使用,这样才能更好地实现和优化此类算法。
**Hessian:深入理解与应用** Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统...
本篇将详细探讨Hessian在实战中的应用,特别是如何获取客户端请求的URL以及如何重定向或转发客户端请求。 首先,我们需要了解Hessian的基本原理。Hessian是基于HTTP的,它将Java对象序列化为二进制格式,从而减少...
3. **Python中的Hessian**:Python也有对应的Hessian库,如`pyhessian`,它实现了Hessian协议,使得Python应用能够与Java Hessian服务进行通信。同样,服务端可以通过定义Python函数并包装为Hessian服务,客户端则...
在Spring Web Flow项目中应用Hessian服务,是一个深入整合分布式服务和前端流程管理的重要实践。Spring Web Flow(SWF)是一个强大的MVC框架,用于构建具有复杂导航逻辑的Web应用程序,而Hessian则是一种轻量级的二...
这个压缩包包含了Hessian的多个版本,分别是Hessian3.1.6、Hessian3.2.1以及Hessian4.0.7。每个版本都有其特定的功能改进和优化,了解这些版本的区别和适用场景对于开发者来说至关重要。 Hessian3.1.6是Hessian的一...
本文将深入探讨Hessian在Spring中的应用以及相关研究。 一、Hessian简介 Hessian是一种基于HTTP的二进制协议,它以简洁的二进制格式传输数据,相比于XML-RPC或JSON-RPC等文本协议,Hessian具有更高的传输效率和更快...
在IT领域,尤其是在医学图像分析中,Hessian矩阵是一个重要的数学工具,用于图像特征检测,特别是在血管分割的应用中。本文将深入探讨标题和描述中提到的"基于Hessian矩阵增强的心血管分割"这一主题。 Hessian矩阵...
多尺度是指在不同分辨率下应用Hessian滤波器,这样可以更好地适应图像中的各种尺度特征。在小尺度上,滤波器可以捕获细小的细节;在大尺度上,它可以捕捉更粗大的结构。这样设计的好处是可以同时检测到不同尺寸的...
Hessian是一种二进制Web服务协议,由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method ...通过深入研究源码和利用相关工具,我们可以更好地利用Hessian的优势来优化我们的应用程序。
而 Hessian 是一种轻量级的远程过程调用(RPC)协议,它允许应用程序之间进行高效的二进制通信。 首先,让我们深入理解 SpringMVC。SpringMVC 提供了一个灵活的架构,用于处理 HTTP 请求、路由请求到相应的处理器、...
本知识点主要关注的是在Android平台上,如何使用Hessian进行异步请求访问,以便提高应用程序的性能和用户体验。 Hessian是由Caucho公司开发的一种轻量级、高效的RPC(Remote Procedure Call)协议。它将Java对象...
本文将深入探讨Hessian框架的基础知识,它是一个高效的二进制序列化协议,广泛应用于Java和.NET之间跨语言通信。通过学习Hessian,我们可以更有效地处理数据传输,提高应用性能。 首先,让我们理解什么是序列化。...
四、Hessian的优势与应用场景 Hessian的主要优势在于其高效的数据传输和简单易用的API,这使得它在低带宽环境或者对性能要求较高的场景下尤为适用。常见的应用场景包括: 1. 远程服务调用:如分布式系统中的服务间...
Hessian 协议格式 Hessian 协议是一种轻量级的 remoting on http 工具,使用简单的方法...通过对 Hessian 协议报文格式的分析,我们可以更好地理解 Hessian 协议的工作原理,并更好地应用 Hessian 协议在实际项目中。