Hessian介绍

来源:互联网 发布:养女方知父母恩全诗 编辑:程序博客网 时间:2024/06/02 15:42

简介

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

技术对比

谈到remoting,会想到RMI和webservice规范,这两种规范的实现也是非常之多的,这篇博客介绍的Hessian也是RMI的一种实现,而且是二进制协议的,所以这个就比webservice性能要高一些。并且hessian在生成二进制方面也是非常有优势的,生成的二进制相比其他远程技术会小一些。

实例

建立MAVEN项目,在pom.XML文件中引入
<dependency>    <groupId>com.caucho</groupId>    <artifactId>hessian</artifactId>    <version>4.0.7</version></dependency>
在web.XML中配置一个servlet配置
<servlet>        <servlet-name>register</servlet-name>        <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>        <init-param>            <param-name>service-class</param-name>            <param-value>com.hessian.hessiantest.service.imp.RegisterServiceImpl</param-value>        </init-param>    </servlet><servlet-mapping>    <servlet-name>register</servlet-name>    <url-pattern>/register</url-pattern></servlet-mapping>
编写一个service实现
private String greeting = "Hello, world, 你已经注册成功啦";    @Override    public void setMsg(String greeting) {        this.greeting=greeting;        System.out.println("成功消息打印:"+greeting);    }    @Override    public String hello() {         return greeting;    }
配置jetty服务器,启动maven项目部署。编写测试程序
    String url ="http://127.0.0.1:8081/hessian/register";    HessianProxyFactory factory = new HessianProxyFactory();    IRegisterService registerService = (IRegisterService) factory.create(IRegisterService.class, url);    System.out.println("注册消息:" + registerService.hello());    registerService.setMsg("Hello!world");    System.out.println("欢迎消息:" + registerService.hello());
直接执行main方法,会出现下面堆栈信息,表明调用成功

堆栈

其余优点

另外一个优点是hessian可以非常容易的与spring框架集成。有兴趣的童鞋可以自行研究一下。

总结

目前很多分布式系统都离不开远程方法调用,也许你在用ejb,也许你在用webservice,异或是在用其他的一些技术,选择合适的才是最重要的,所以有必要学习一下hessian,以备将来不时之需。
0 0
原创粉丝点击