`

Hessian调用方法

 
阅读更多

 

 

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

    Hessian不仅支持基本数据类型,还能处理复杂对象和接口,使得服务端与客户端之间能透明地调用方法。 HessianServer文件通常包含了服务端的实现,它定义了对外提供的服务接口。开发者需要创建一个实现了特定业务逻辑...

    java+hessian 远程调用

    Hessian是BEA Systems开发的一种二进制Web服务协议,它提供了序列化和远程方法调用的机制。在Java项目中,Hessian被广泛用于服务间的通信,尤其是对于那些需要快速、低开销的通信场景。 1. **Hessian服务端**: - ...

    hessian实现远程调用

    在IT行业中,远程调用是一种常见的技术,使得客户端可以跨网络调用远程服务器上的方法,就像调用本地方法一样方便。Hessian是Apache项目下的一个轻量级的RPC(Remote Procedure Call,远程过程调用)框架,它提供了...

    hessian demo 包括服务端和客户端

    Hessian是一种高效的RPC(Remote Procedure Call)协议,它允许Java应用程序之间进行远程方法调用,类似于RMI(Remote Method Invocation)。Hessian由Caucho公司开发,它的主要优点在于序列化效率高,能够将Java...

    Hessian远程调用框架学习一

    Hessian远程调用框架是基于Java的轻量级RPC(Remote Procedure Call)解决方案,它允许开发者在分布式系统中实现高效、便捷的跨网络对象方法调用。本教程将引导你入门Hessian,通过一个简单的JAVA demo来理解其工作...

    hessian-4.0.33.jar

    5. 调用服务:通过代理对象,像调用本地方法一样调用远程服务的方法。 四、Hessian的优势与应用场景 Hessian的主要优势在于其高效的数据传输和简单易用的API,这使得它在低带宽环境或者对性能要求较高的场景下尤为...

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

    Hessian提供了一个URL,客户端通过这个URL可以直接调用服务端的方法,就像调用本地方法一样。客户端需要导入Hessian的库,然后使用HessianProxyFactory创建服务的代理对象。 4. **执行远程调用**:现在,客户端可以...

    Hessian协议格式

    在示例代码中,我们将通过 Hessian protocol 调用这四个方法,并截取并分析请求报文和应答报文的格式。 2.1 Hessian 报文结构应用示例背景说明 在示例代码中,我们使用 Java 语言编写了一个简单的示例,用于形象地...

    Hessian远程调用RPC最简单demo

    Hessian是Apache软件基金会的Caucho项目开发的一个开源RPC框架,它支持二进制协议,能够高效地进行远程方法调用。本教程将详细介绍"Hessian远程调用RPC最简单demo",包括服务器端服务发布和客户端服务调用的实现,...

    hessian php与java通讯demo源码

    Hessian是一种二进制协议,它允许在不同的编程语言之间进行高效的远程方法调用(RPC)。这个"PHP与Java通信Demo源码"是基于Hessian协议实现的一个示例,展示了如何在PHP和Java之间建立通信。现在,我们将深入探讨...

    Hessian

    Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统之间的通信,通过减少网络传输的...

    外部接口调用 使用spring4+hessian4实例

    在这个场景中,Hessian4被用作一个轻量级的RPC(远程过程调用)协议,它允许应用程序在不同的Java虚拟机之间透明地调用方法。Spring4则扮演了管理和协调这些调用的角色,提供了一种优雅的方式去配置和管理服务。 ...

    hessian案例,hessian案例

    通过简单的API,开发者可以轻松地创建服务端接口并暴露为Hessian服务,同时在客户端通过HessianProxyFactory来创建代理对象,调用远程服务就像调用本地方法一样。 3. **Python中的Hessian**:Python也有对应的...

    hessian 使用

    此例子有两个工程,hessianServer(服务端工程),hessianClient(客户端工程),把 hessianServer工程 启动之后就可以通过 hessianClient 访问 服务端的服务了。

    Hessian与spring整合

    在IT行业中,Hessian是一种轻量级的远程过程调用(RPC)协议,它使得服务端的方法可以直接在客户端被调用,仿佛它们就在本地一样。Hessian基于HTTP协议,使用二进制编码,以提高传输效率和性能。而Spring框架是Java...

    Hessian应用

    3. **网络通信**:当调用代理方法时,Hessian会自动将参数序列化,通过HTTP发送到服务端;服务端接收到请求后,反序列化参数,执行相应的方法,然后将结果序列化并返回给客户端。 4. **处理结果**:客户端接收到...

    hessian

    Hessian是一种二进制Web服务协议,由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation, RMI)机制。它结合了HTTP协议的可扩展性和Java序列化机制的易用性,使得在...

    Hessian学习简单demo

    Hessian的目标是提供一种快速、简洁的数据序列化和远程方法调用(RPC)机制。在这个简单的demo中,我们将探讨Hessian的核心概念,以及如何在实际应用中使用它。 首先,我们需要理解什么是数据序列化。数据序列化是...

    dubbo-hessian协议http请求demo(java)

    Hessian是Apache的一个子项目,它是一种二进制的Remoting协议,常用于Java和.NET之间进行远程方法调用(RPC)。本示例将介绍如何在Java中利用Dubbo的Hessian协议进行HTTP请求的实现。 首先,我们需要理解Hessian...

Global site tag (gtag.js) - Google Analytics