hessian实践

 

1 按照官方网站的引导http://hessian.caucho.com/doc/hessian-overview.xtp#Configurationforstandardwebxml

采用标准servlet的方式提供一个hessian服务,并成功用客户端访问。

2 请求流程:

指定服务地址

 String url = "http://localhost:8080/longji-webapp/hello";

  HessianProxyFactory factory = new HessianProxyFactory();

初始化客户端桩
  Basic basic = (Basic) factory.create(Basic.class, url);

真正向服务端发送远程调用,如果服务端没有提供该接口的服务,那么会抛出未声明异常UndeclaredThrowableException

  System.out.println("Hello: " + basic.hello());

3 和大部分的远程过程调用方式一样,客户端采用了代理模式,使用了java的代理机制。通过com.caucho.hessian.client.HessianProxy实现java.lang.reflect.InvocationHandler.invoke(Object, Method, Object[]),进行装箱、序列化传输参数,远程调用。

4 hessian有自己的一套序列化机制(即客户端和服务端java对象与网络字节流之间的相互转换),不同类型的序列化机制不一样。基本的序列化机制由BasicSerializer和BasicDeserializer实现

5 调用协议是通过http去调用

 

 

你可能感兴趣的:(rpc,hessian,远程过程调用)