于吉吉的技術博客

          建造高性能門戶網

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks

          web service

               摘要: 由于歷史原因,幾個項目都選用hessian作為web service的實現方式,hessian的確是非常輕量級,基于http協議進行傳輸,通過自定義的串行化機制將請求信息進行序列化,以二進制傳輸節省了不少的開銷,速度跟socket差不多.客戶端和服務器發起和接收請求都是通過spring提供的hessian api進行請求和接收,但是在服務端中并沒有記錄和控制遠端ip地址和主機的信息,所以需要對源碼進行一些重寫

          對org.springframework.remoting.caucho.HessianServiceExporter進行重寫

          /**
          * 重寫HessianServiceExporter.handleRequest(),攔截獲取遠端調用信息
          * @author chenyz
          *
          */
          public class HouseHessianServiceExporter extends HessianServiceExporter {

          private static S  閱讀全文
          posted @ 2010-12-21 16:05 陳于喆 閱讀(3039) | 評論 (0)  編輯

               摘要: 目前幾套系統中主要使用的hessian進行遠程調用webservice服務的有hessian的 HessianProxyFactory(com.caucho.hessian.client.HessianProxyFactory)和 spring的 HessianProxyFactoryBean(org.springframework.remoting.caucho.HessianProxyFactoryBean).

          1.HessianProxyFactory
          查看HessianProxyFactory源碼后發現,hessian在創建http請求連接webservice服務并沒有對連接超時進行相關的參數設置,所以當網絡出現問題就會造成整個hessian處理的阻塞,進而阻塞整個線程后續的處理
          以下是HessianProxyFactory對連接處理的源碼

          protected URLConnection openConnection(URL url)
          throws IOException
          {
          URL  閱讀全文
          posted @ 2010-12-16 14:46 陳于喆 閱讀(12058) | 評論 (11)  編輯

          主站蜘蛛池模板: 肃北| 墨玉县| 大埔区| 上饶县| 香港 | 丰城市| 西安市| 德清县| 盐边县| 乐陵市| 平安县| 原阳县| 海南省| 沅陵县| 稻城县| 嘉鱼县| 冕宁县| 偃师市| 安远县| 吉林省| 罗山县| 芜湖市| 伊宁县| 晴隆县| 郑州市| 城口县| 大城县| 元阳县| 绥芬河市| 舟曲县| 景德镇市| 措勤县| 泗阳县| 洪雅县| 合水县| 阿拉善右旗| 山西省| 泾源县| 焉耆| 潮州市| 拉萨市|