分布式设计《初尝hessian》
来源:互联网 发布:中小型网络拓扑图 编辑:程序博客网 时间:2024/05/16 12:49
之前接触过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);}}
<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。
0 0
- 分布式设计《初尝hessian》
- 分布式设计《hessian集成spring的应用》
- 分布式设计《初尝memcached》
- spirng和hessian构建分布式应用
- 分布式调用-RMI,HttpInvoker,hessian,Burlap,webservice
- Hessian
- hessian
- Hessian
- Hessian
- hessian
- Hessian
- Hessian
- Hessian
- Hessian
- Hessian
- Hessian
- Hessian
- Hessian
- 五、建立语言模型几种方法及使用
- CPU高速缓存行对齐(cache line)
- 百万用户时尚分享网站feed系统扩展实践
- Android系统中设置TextView的行间距(非行高)
- Java语言中,以String作为类型的变量在作为方法参数时所表现出的“非对象”的特性。
- 分布式设计《初尝hessian》
- Android Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
- Objective-C Runtime
- 对consistencygroup的一些研究和实践
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)的用法
- Qualcomm 高通芯片组与Android音频系统缺陷测评分析
- java枚举的使用
- crackme.chm之figugegl_3
- 找一个数组中第K大的数