package com.huashun.api.hessian; import java.util.List; import com.huashun.api.hessian.domain.BaseDataVo; /** * * @author LiuQing * @see 基本数据接口 * @version 1.0 * 2014-9-25 下午6:01:10 */ public interface IBaseDataApi { /** * 查询所有行政区 * @return List<BaseData> */ public List<BaseDataVo> queryByAllRegion(); /** * 依据行政区检索所属小区信息数据集 * @param id 行政区编 * @return */ public List<BaseDataVo> queryQuartersByRegionId(Integer id); }
package com.huashun.api.hessian.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.huashun.api.hessian.IBaseDataApi; import com.huashun.api.hessian.domain.BaseDataVo; import com.huashun.api.mybatis.mappers.BaseDataMapper; /** * * @author LiuQing * @see * @version 1.0 * 2014-9-26 上午9:13:08 */ @Service("baseDataApi") public class BaseDataApiImpl implements IBaseDataApi { @Resource private BaseDataMapper baseDataMapper; @Override public List<BaseDataVo> queryByAllRegion() { return baseDataMapper.queryByAllRegion(); } @Override public List<BaseDataVo> queryQuartersByRegionId(Integer id) { return this.baseDataMapper.queryQuartersByRegionId(id); } }
package com.huashun.api.hessian.domain; import java.io.Serializable; /** * * @author LiuQing * @see 基础数据接口 * @version 1.0 * 2014-9-26 上午9:04:17 */ public class BaseDataVo implements Serializable { private static final long serialVersionUID = -1472316551814130927L; //编号 private Integer id; //名称 private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Spring配置
<bean name ="/baseData" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service" ref="baseDataApi" /> <property name="serviceInterface" value="com.huashun.api.hessian.IBaseDataApi" /> </bean>
使用caucho原生API调用(Spring 略)
public static void main(String[] args) throws Exception { HessianProxyFactory factory = new HessianProxyFactory(); IBaseDataApi api = (IBaseDataApi) factory.create(IBaseDataApi.class, "http://192.168.0.250:8080/HuaShunService/hessian/baseData"); for (BaseDataVo vo:api.queryQuartersByRegionId(3)) { System.out.println(vo); } }
相关推荐
Hessian不仅支持基本数据类型,还能处理复杂对象和接口,使得服务端与客户端之间能透明地调用方法。 HessianServer文件通常包含了服务端的实现,它定义了对外提供的服务接口。开发者需要创建一个实现了特定业务逻辑...
Hessian是BEA Systems开发的一种二进制Web服务协议,它提供了序列化和远程方法调用的机制。在Java项目中,Hessian被广泛用于服务间的通信,尤其是对于那些需要快速、低开销的通信场景。 1. **Hessian服务端**: - ...
在IT行业中,远程调用是一种常见的技术,使得客户端可以跨网络调用远程服务器上的方法,就像调用本地方法一样方便。Hessian是Apache项目下的一个轻量级的RPC(Remote Procedure Call,远程过程调用)框架,它提供了...
Hessian是一种高效的RPC(Remote Procedure Call)协议,它允许Java应用程序之间进行远程方法调用,类似于RMI(Remote Method Invocation)。Hessian由Caucho公司开发,它的主要优点在于序列化效率高,能够将Java...
Hessian远程调用框架是基于Java的轻量级RPC(Remote Procedure Call)解决方案,它允许开发者在分布式系统中实现高效、便捷的跨网络对象方法调用。本教程将引导你入门Hessian,通过一个简单的JAVA demo来理解其工作...
5. 调用服务:通过代理对象,像调用本地方法一样调用远程服务的方法。 四、Hessian的优势与应用场景 Hessian的主要优势在于其高效的数据传输和简单易用的API,这使得它在低带宽环境或者对性能要求较高的场景下尤为...
Hessian提供了一个URL,客户端通过这个URL可以直接调用服务端的方法,就像调用本地方法一样。客户端需要导入Hessian的库,然后使用HessianProxyFactory创建服务的代理对象。 4. **执行远程调用**:现在,客户端可以...
在示例代码中,我们将通过 Hessian protocol 调用这四个方法,并截取并分析请求报文和应答报文的格式。 2.1 Hessian 报文结构应用示例背景说明 在示例代码中,我们使用 Java 语言编写了一个简单的示例,用于形象地...
Hessian是Apache软件基金会的Caucho项目开发的一个开源RPC框架,它支持二进制协议,能够高效地进行远程方法调用。本教程将详细介绍"Hessian远程调用RPC最简单demo",包括服务器端服务发布和客户端服务调用的实现,...
Hessian是一种二进制协议,它允许在不同的编程语言之间进行高效的远程方法调用(RPC)。这个"PHP与Java通信Demo源码"是基于Hessian协议实现的一个示例,展示了如何在PHP和Java之间建立通信。现在,我们将深入探讨...
Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统之间的通信,通过减少网络传输的...
在这个场景中,Hessian4被用作一个轻量级的RPC(远程过程调用)协议,它允许应用程序在不同的Java虚拟机之间透明地调用方法。Spring4则扮演了管理和协调这些调用的角色,提供了一种优雅的方式去配置和管理服务。 ...
通过简单的API,开发者可以轻松地创建服务端接口并暴露为Hessian服务,同时在客户端通过HessianProxyFactory来创建代理对象,调用远程服务就像调用本地方法一样。 3. **Python中的Hessian**:Python也有对应的...
此例子有两个工程,hessianServer(服务端工程),hessianClient(客户端工程),把 hessianServer工程 启动之后就可以通过 hessianClient 访问 服务端的服务了。
在IT行业中,Hessian是一种轻量级的远程过程调用(RPC)协议,它使得服务端的方法可以直接在客户端被调用,仿佛它们就在本地一样。Hessian基于HTTP协议,使用二进制编码,以提高传输效率和性能。而Spring框架是Java...
3. **网络通信**:当调用代理方法时,Hessian会自动将参数序列化,通过HTTP发送到服务端;服务端接收到请求后,反序列化参数,执行相应的方法,然后将结果序列化并返回给客户端。 4. **处理结果**:客户端接收到...
Hessian是一种二进制Web服务协议,由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation, RMI)机制。它结合了HTTP协议的可扩展性和Java序列化机制的易用性,使得在...
Hessian的目标是提供一种快速、简洁的数据序列化和远程方法调用(RPC)机制。在这个简单的demo中,我们将探讨Hessian的核心概念,以及如何在实际应用中使用它。 首先,我们需要理解什么是数据序列化。数据序列化是...
Hessian是Apache的一个子项目,它是一种二进制的Remoting协议,常用于Java和.NET之间进行远程方法调用(RPC)。本示例将介绍如何在Java中利用Dubbo的Hessian协议进行HTTP请求的实现。 首先,我们需要理解Hessian...