`
Everyday都不同
  • 浏览: 713437 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

使用Hessian来进行远程调用

阅读更多

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 远程调用

    java项目中使用hessian框架实现远程调用,该资源内附hessian服务端,hessian客户端和使用说明文档,以供使用参考,轻松教会你hessian远程调用!

    hessian实现远程调用

    在开发过程中,有时需公用某个工程的接口,需要用到hessian实现远程调用

    Hessian远程调用框架学习一

    Hessian远程调用框架学习一,第一个JAVA使用hessian的入门demo,简单实用易理解

    基于加密技术的Hessian 远程调用的研究与实现

    基于加密技术的Hessian 远程调用的研究与实现

    hessian框架应用,实现远程调用,分布式开发

    一个简单实用的hessian框架的应用实例,用于实现分布式开发远程调用!

    Hessian Binary Web Service Protocol远程接口调用入门Demo

    Hessian Binary Web Service Protocol远程接口调用入门Demo例子!

    Hessian远程调用RPC最简单demo

    hessian简单demo,server发布服务+client调用服务,包含源码和hessian的jar包

    远程调用服务框架

    给予spring的框架。 封装了xfire、rmi、hessian、httpinvoker 客户端可以统一调用,省略了远程调用的编码。 服务通过服务ID和服务接口来调用。

    Hessian的使用配置步骤

    远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供...

    Flex + Hessian 留言本

    关于Flex使用Hessian进行远程调用,请参考: Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + ...

    hessian使用小例子

    hessian关于java使用的一个小例子

    struts2+ibatis+spring+Hessian 整合项目

    struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...

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

    纯Hessian的入门例子教程,还有Hessian和Spring整合的例子教程。 代码上传之前都运行通过的

    hessian 实例

    远程调用方法就是HttpInvoker:他也是将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的优点。试使用Http协议传输二进制流的,同时又具有Hessian、Burlap(传输xml文本)的...

    hessian远程通信

    本示例是hessian与spring整合的,客户端与服务端相互调用的最完整例子。

    Spring 实现远程访问详解——rmi

    1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...

    Hprose 全名是高性能远程对象服务引擎.rar

    目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。 2. 从通信协议的层面 基于 HTTP 协议的(例如基于...

    探讨Hessian在PHP中的使用分析

    什么是Hessian Hessian是由caucho提供的一种开源的远程通讯协议。 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口。 协议的规范是公开的,可以用于任意语言。 采用客户机/服务器模式。 ...

    hessian 使用例子

    演示例子分为三部分:Client 、... 其中,Client 是通过Hessian调用远程服务的客户端;Server是通过Hessian对外提供服务的服务端;Skeleton 是接口桥梁。 http://blog.csdn.net/likunwen_001/article/details/78119765

    hessian 在PHP中的使用介绍

    Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据 ...

Global site tag (gtag.js) - Google Analytics