hessian远程框架的使用简述
hessian是个简单好用的java远程调用框架,其不与spring结合使用,比结合spring使用更为简单,所以我一般直接采用不与spring整合配置的使用方式,当然,在具体的服务类里,还是会去调用spring容器的服务类来执行数据库访问。这样我觉得更方便。
下面,我就讲一下不整合spring的调用方式:
只要引入hessian的jar包便可,不需要依赖别的jar包,我用的hessian-4.0.7.jar;
hessian会自己序列化与反序列化参数,开发者无需关注这些。
1. 在web.xml中增加如下配置:
<servlet>
<servlet-name>remote</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>com.zlwh.member.remote.BulletinService</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remote</servlet-name>
<url-pattern>/remote/*</url-pattern>
</servlet-mapping>
注意service-class参数配置替换成你自己的服务类便可以。
2. 服务类及接口:
public interface IBulletinService {
public String addBulletin(Bulletin entity);
public int getUserNoReadCount(Long userId)throws Exception;
}
实现类:
public class BulletinService implements IBulletinService{
@Override
public String addBulletin(Bulletin entity) {
String result="OK";
BulletinManager bulletinManager=ApplicationContextUtils.getBean("bulletinManager");
entity.setCreateTime(new Timestamp(System.currentTimeMillis()));
result=this.validateInfo(entity);
try{
bulletinManager.save(entity);
}catch(Exception e){
result="FAILED";
}
return result;
}
@Override
public int getUserNoReadCount(Long userId)throws Exception{
BulletinManager bulletinManager=ApplicationContextUtils.getBean("bulletinManager");
return bulletinManager.getUserNoReadCount(userId);
}
}
3.客户端调用:
客户端需要引入服务的接口类IBulletinService ,hessian的jar包,如果参数不是本地对象,需要引入参数对象。
public class TestRemote {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String url = "http://127.0.0.1:8080/uc-backend/remote";
HessianProxyFactory factory = new HessianProxyFactory();
factory.setOverloadEnabled(true);
IBulletinService hessianServer =(IBulletinService)factory.create(IBulletinService.class, url);
Bulletin bulletin=new bulletin();
hessianServer.addBulletin(bulletin);
System.out.println("success!");
int num=hessianServer.getUserNoReadCount(1L);
System.out.println("没有阅读的数量:"+num);
}
}
分享到:
相关推荐
Hessian远程调用框架是基于Java的轻量级RPC(Remote Procedure Call)解决方案,它允许开发者在分布式系统中实现高效、便捷的跨网络对象方法调用。本教程将引导你入门Hessian,通过一个简单的JAVA demo来理解其工作...
标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...
本实例重点探讨的是基于Spring框架和Hessian协议的Web Service实现,这是一种轻量级、高效的远程调用解决方案。 首先,我们要理解Spring框架。Spring是Java领域的一个核心框架,它提供了全面的编程和配置模型,用于...
Hessian框架是一款轻量级的Java远程方法调用(Remote Method Invocation, RMI)框架,由Caucho Technology公司开发。它主要应用于分布式系统中,允许应用程序通过HTTP协议进行高效、透明的远程调用,降低了分布式...
Hessian是Apache项目下的一个轻量级的RPC(Remote Procedure Call,远程过程调用)框架,它提供了一种高效的二进制协议,用于在网络之间传递Java对象。下面我们将详细介绍Hessian的实现原理以及如何在实际开发中运用...
本教程将详细介绍"Hessian远程调用RPC最简单demo",包括服务器端服务发布和客户端服务调用的实现,以及所需资源。 首先,我们来看一下`hessian-4.0.7.jar`这个文件。这是Hessian库的核心组件,包含了实现Hessian...
总结起来,Hessian远程通信结合Spring框架,提供了一种简单、高效的分布式服务调用方式。通过Spring的自动装配和管理能力,我们可以方便地配置和使用Hessian服务,同时享受Spring带来的其他便利。在实际项目中,这种...
Hessian是一种基于二进制协议的轻量级远程方法调用(RMI)技术,由Caucho Technology开发。它的设计目标是提供一种高效、简洁的方式来传输Java对象和方法调用,使得分布式应用间的通信变得更加简单和快速。在本文中,...
在IT行业中,Hessian是一种轻量...通过这个简单的示例,我们可以看到如何在Java应用中集成和使用Hessian进行远程服务调用。在实际项目中,Hessian还可以与其他技术结合,如Spring框架,以实现更复杂的分布式系统架构。
在不依赖任何框架的情况下,使用Hessian的步骤如下: 1. **添加依赖**:首先,客户端和服务端都需要引入Hessian的jar包,以便使用其提供的API和功能。 2. **服务端设置**:在服务端,需要定义业务接口,并创建该...
本篇文章将深入探讨如何将Spring与Hessian整合,实现远程服务的访问。 首先,我们要理解Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)特性。IoC使得我们可以解耦组件间的依赖,AOP则...
远程调用服务框架是软件开发中的一个重要组成部分,它允许不同系统、不同网络环境下的应用程序之间进行通信,实现功能的解耦合和分布式系统的构建。在Java世界中,Spring框架提供了强大的支持来实现这一目标。本篇...
2. **集成与兼容**:Hessian可以与Spring框架无缝集成,通过配置Spring的Bean,轻松实现服务的发布和消费。 **五、源码分析** 对于深入理解Hessian的工作机制,阅读和分析源码是必不可少的。Caucho Technology提供...
在这个专题中,我们将以hessian-4.0.33.jar为例,详细探讨Hessian框架的核心特性和使用方法。 一、Hessian协议简介 Hessian协议基于HTTP协议,但其数据传输采用二进制格式,这使得它在数据传输效率上远超基于文本...
6. **优化与调试**:为了提升性能,我们可以调整Hessian的缓冲区大小,或者使用压缩来减小数据传输量。同时,通过日志记录和调试工具,可以有效地定位和解决问题。 总的来说,Flex-Spring-Hessian框架结合了Flex的...
在这个“hessian学习实例”中,我们将深入探讨Hessian框架的使用,特别是如何将其与Spring框架集成,以及如何构建server端和client端。 首先,让我们理解Hessian的工作原理。Hessian基于HTTP协议,它将Java对象序列...
在给定的项目中,"springMVC-hessian" 压缩包很可能包含了一个使用 SpringMVC 构建的 Web 服务,以及一个使用 Hessian 实现的远程服务接口。Readme 文件应该提供了详细的步骤指导,解释了如何配置 SpringMVC 以支持 ...
"工具"可能指的是使用Hessian相关的开发工具或框架,例如HessianProxyFactory、HessianServlet等。 至于【压缩包子文件的文件名称列表】中的"hessian_cilent",这可能是Hessian的客户端实现示例代码或者库文件。...
6. **HTTP协议的RPC**:"几种基于HTTP协议的RPC性能比较.txt"文件可能分析了在HTTP上运行的RPC框架,包括使用Hessian的情况。Hessian是构建在HTTP基础之上,但通过二进制编码优化了传输效率,因此在某些场景下可能...