Hessian介绍

简介

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,以备将来不时之需。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值