码迷,mamicode.com
首页 > 其他好文 > 详细

Hessian 调用流程

时间:2017-03-09 16:57:19      阅读:761      评论:0      收藏:0      [点我收藏+]

标签:src   abstract   eth   tput   exp   构造   actor   解析   strong   

服务端流程

   采用spring mvc+hessian形式,解析请求处理器使用BeanNameUrlHandlerMapping.

   1.创建一个类OurServiceExporter,继承HessianExporter类,实现HttpRequestHandler接口(spring mvc),

   2.将请求转发至OurServiceExporter这个类,并配置service以及serviceInterface属性:

   技术分享

   3. 请求进来后,调用父类HessianExporter的invoke方法,将request的输入流以及输出流作为参数传入.

     技术分享

  4.在初始化HessianExporter的时候,会预先创建HessianSkeleton,并把传入一个代理service(spring的ProxyFactory实现代理)以及serviceInterface作为构造参数

      技术分享

   5. HessianExporter的invoke方法将输入流转换为AbstractHessianIuput(暂命为in),将输出流转换为AbstractHessianOutput(暂命为out),设置输入流输出流的序列化实现类,调用HessianSkeleton的invoke方法

      技术分享

  6.HessianSkeleton的invoke方法,从in读取方法名method,参数长度,并将参数反序列化,使用method.invoke调用方法,并将返回值使用out写回

    技术分享

     

    具体细节,还得多看看源码,这里只是粗略的流程,写得不好,请担待。

Hessian 调用流程

标签:src   abstract   eth   tput   exp   构造   actor   解析   strong   

原文地址:http://www.cnblogs.com/zgz21/p/6526272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!