分布式设计《初尝hessian》

      之前接触过EJB的RMI,但是个人感觉由于EJB是个重型框架,以至于你很难在项目中只使用EJB的一个两个特性来提高开发效率。近期接触到hessian,一个非常优秀的RMI轻量级框架,在此做个记录,后续会出更进阶的文章出来和大家一起分享。

      翻译了hessian官网的一段介绍,希望大家会对hessian有个初步的认识。

      hessian二进制web service 协议可以让web service不需要依赖一个重量级框架,也不需要使用者学习形形色色的网络协议。因为hessian就是一个二进制协议,它能够不依赖于任何扩展协议来很方便的发送二进制数据。

【实现步骤】


1、编写服务端接口

package com.lvmama.hessian.service.impl;

public interface BaseService {

	public abstract void setStr(String str);

	public abstract void say();
}

2、编写服务端实现

package com.lvmama.hessian.service.impl;

import com.caucho.hessian.server.HessianServlet;

public class BaseServiceImpl extends HessianServlet implements BaseService {
	
	private String str;
	
	public void setStr(String str) {
		this.str = str;
	}


	public void say() {
		System.out.println(str);
	}

}


3、配置服务端servlet

<servlet>
  		<servlet-name>baseService</servlet-name>
  		<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
  		
  		<init-param>
  			<param-name>home-class</param-name>
  			<param-value>com.lvmama.hessian.service.impl.BaseServiceImpl</param-value>
  		</init-param>
  		
  		<load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
  		<servlet-name>baseService</servlet-name>
  		<url-pattern>/baseService</url-pattern>
  </servlet-mapping>


4、编写客户端测试类

package com.lvmama.hessian.client.impl;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.lvmama.hessian.service.impl.BaseService;

public class HessianClientImlp {

	public static void main(String[] args) throws MalformedURLException {
		String url = "http://localhost:8080/hessian_service_implement/baseService";
		HessianProxyFactory factory = new HessianProxyFactory();
		BaseService service = (BaseService)factory.create(BaseService.class, url);
		service.setStr(" hello tony!");
		service.say();
	}

}

5、运行

控制台输出 hello tony!


【注意】

分析HessianServlet.java源码得知web.xml中配置param-name得配置成“home-class”或者"service-class"。要不然就会报这个错误

javax.servlet.ServletException: server must extend HessianServlet。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值