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); } }
做完这些,依次启动服务端和客户端,就可以做简单的远程调用了。当服务端接口更新,需要重新打包给客户端。
相关推荐
java项目中使用hessian框架实现远程调用,该资源内附hessian服务端,hessian客户端和使用说明文档,以供使用参考,轻松教会你hessian远程调用!
在开发过程中,有时需公用某个工程的接口,需要用到hessian实现远程调用
Hessian远程调用框架学习一,第一个JAVA使用hessian的入门demo,简单实用易理解
基于加密技术的Hessian 远程调用的研究与实现
一个简单实用的hessian框架的应用实例,用于实现分布式开发远程调用!
Hessian Binary Web Service Protocol远程接口调用入门Demo例子!
hessian简单demo,server发布服务+client调用服务,包含源码和hessian的jar包
给予spring的框架。 封装了xfire、rmi、hessian、httpinvoker 客户端可以统一调用,省略了远程调用的编码。 服务通过服务ID和服务接口来调用。
远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供...
关于Flex使用Hessian进行远程调用,请参考: Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + ...
hessian关于java使用的一个小例子
struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...
纯Hessian的入门例子教程,还有Hessian和Spring整合的例子教程。 代码上传之前都运行通过的
远程调用方法就是HttpInvoker:他也是将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的优点。试使用Http协议传输二进制流的,同时又具有Hessian、Burlap(传输xml文本)的...
本示例是hessian与spring整合的,客户端与服务端相互调用的最完整例子。
1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...
目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。 2. 从通信协议的层面 基于 HTTP 协议的(例如基于...
什么是Hessian Hessian是由caucho提供的一种开源的远程通讯协议。 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口。 协议的规范是公开的,可以用于任意语言。 采用客户机/服务器模式。 ...
演示例子分为三部分:Client 、... 其中,Client 是通过Hessian调用远程服务的客户端;Server是通过Hessian对外提供服务的服务端;Skeleton 是接口桥梁。 http://blog.csdn.net/likunwen_001/article/details/78119765
Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据 ...