Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. Spring也对Hessian进行了支持,以下就用一个简单的例子来说明下如何在Spring中使用Hessian吧。
Hessian的服务端配置:
在服务端的某个applicationContext-*.xml(命名不限)创建HessianServiceExporter来暴露你的服务接口(接口以及接口实现类略):
<!-- RemoteService的Hessian Exporter --> <bean name="remoteServiceExporter" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service" ref="xxxRemoteService" /> <property name="serviceInterface" value="com.nineclient.talk.service.xxxRemoteService" /> </bean> <!-- 服务接口的实现Bean定义 --> <bean id="xxxRemoteService" class="com.nineclient.talk.service.impl.JtalkRemoteServiceImpl" />
在web.xml中为Exporter定义一个相应的Servlet,目的是为了将这个Exporter映射到一个url地址中,但这个Servlet的名称需和这个Exporter bean的name一样!
<servlet> <servlet-name>remoteServiceExporter</servlet-name> <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>remoteServiceExporter</servlet-name> <url-pattern>/remoting/xxxRemoteservice</url-pattern> </servlet-mapping> <servlet>
Hessian客户端的配置:
1)把服务端的接口(实现类不需要)打包成jar给客户端
2)在一个配置文件如config.properties中,配置远程服务的地址,如:
HESSIAN_REMOTESERVICE_URL=http://ip:port/serverName/remoting/xxxRemoteservice
2)不妨写一个工具类来获得远程服务的调用地址
public class RemoteHessianUtil { public static HessianProxyFactory factory; public static String url; static { factory = new HessianProxyFactory(); factory.setOverloadEnabled(true); url = PropertyReader.getProperty("HESSIAN_REMOTESERVICE_URL");//读取配置文件属性并把这些属性放入map中过程略。。 } public static Object create(Class<?> api, String urlName) { try { return factory.create(api, urlName); } catch (Exception e) { e.printStackTrace(); } return null; } //获取远程调用服务的方法 public static xxxRemoteService getRemoteService() { return (xxxRemoteService) RemoteHessianUtil.create(xxxRemoteService.class, url); } }
做完这些,依次启动服务端和客户端,就可以做简单的远程调用了。当服务端接口更新,需要重新打包给客户端。
相关推荐
- **文档**:详细说明如何使用提供的源代码和配置来搭建和测试Hessian远程调用系统。 - **示例客户端**:可能有一个简单的Java客户端示例,演示如何连接到服务端并调用远程方法。 了解和掌握Java Hessian远程调用...
下面我们将详细介绍Hessian的实现原理以及如何在实际开发中运用它进行远程调用。 首先,Hessian基于HTTP协议,使用二进制序列化来减少数据传输量,从而提高通信效率。它支持Java、C++等多种语言,使得跨语言的远程...
总的来说,Hessian远程调用框架在Java分布式系统中提供了一种高效、简便的通信方式,尤其适合那些对性能和简洁性有较高要求的项目。了解并掌握Hessian的使用,对于提升你的Java开发技能和解决实际问题的能力大有裨益...
标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...
本教程将详细介绍"Hessian远程调用RPC最简单demo",包括服务器端服务发布和客户端服务调用的实现,以及所需资源。 首先,我们来看一下`hessian-4.0.7.jar`这个文件。这是Hessian库的核心组件,包含了实现Hessian...
它主要应用于分布式系统中,允许应用程序通过HTTP协议进行高效、透明的远程调用,降低了分布式系统之间的通信复杂性。Hessian支持序列化Java对象,使得远程调用如同本地调用一样便捷,极大地提高了开发效率。 一、...
本教程将通过一个入门Demo来介绍如何使用Hessian进行远程接口调用。 首先,让我们理解Hessian的优势。与XML-RPC相比,Hessian使用二进制编码,因此在网络传输时占用的带宽更少,解析速度更快。此外,Hessian支持...
远程调用服务框架是软件开发中的一个重要组成部分,它允许不同系统、不同网络环境下的应用程序之间进行通信,实现功能的解耦合和分布式系统的构建。在Java世界中,Spring框架提供了强大的支持来实现这一目标。本篇...
远程调用是指应用程序的不同组件或服务之间,通过网络进行通信的一种方式。Spring支持多种远程调用协议,如RMI(Remote Method Invocation)、Hessian、 Burlap以及HTTP Invoker等。这些协议允许我们跨越网络边界,...
《Hessian远程调用技术详解》 在分布式系统中,远程调用是常见的通信方式,它使得服务可以跨越网络边界,实现组件之间的交互。Hessian,由Caucho公司开发,是一种高效的二进制RPC(Remote Procedure Call)协议,常...
Hessian是一种二进制Web服务协议,它提供了一种高效的RPC(远程过程调用)机制,使得服务器和客户端之间能够进行快速、简单的通信。...通过理解和实践这个案例,你将能够熟练地在Java项目中使用Hessian进行远程调用。
总的来说,Hessian是一种强大的工具,特别适用于需要快速、低开销的Java远程调用场景。通过这个简单的示例,我们可以看到如何在Java应用中集成和使用Hessian进行远程服务调用。在实际项目中,Hessian还可以与其他...
标题中的“用Hessian C#桌面程序调用J2EE后台服务”涉及到的是跨平台通信技术,特别是使用Hessian协议来实现C#客户端与Java(J2EE)服务器之间的交互。Hessian是一种二进制的远程过程调用(RPC)协议,由BEA Systems...
3. **服务消费者(ServiceConsumer)**:从服务注册中心获取服务接口的引用,实现远程调用。 4. **代理类(Proxy Class)**:动态生成的类,实现了服务接口,内部调用RPC框架的调用逻辑。 5. **调用处理(Invocation...
4. **透明性**:Hessian允许远程调用像本地方法调用一样,提高了开发者的生产力。 ### 使用场景 Hessian适用于以下场景: 1. **微服务通信**:在微服务架构中,服务间需要频繁进行轻量级的通信,Hessian可以提供...
总的来说,这个项目展示了如何将 SpringMVC 的强大 MVC 模式与 Hessian 的高效远程调用相结合,实现了一种分布式服务架构。开发者可以通过阅读 Readme 文件,了解具体的配置和使用方法,从而在自己的项目中应用这一...
在Android应用开发中,与Web服务器进行通讯是常见的需求,Hessian是一种二进制协议,它使得Java和Java、Java和其他语言(如Python、C++)之间的远程调用变得高效且简便。本教程将深入探讨如何在Android端利用Hessian...
首先,我们需要定义一个服务接口,例如`HelloService`,包含一个或多个方法,这些方法将被远程调用。然后,我们需要实现这个接口并部署为一个Hessian服务。在服务器端,通过HessianServlet来暴露这个服务,客户端则...