Hessian 接口使用示例總結


一、使用hessian接口准備

  首先,hessian接口的使用,必須要准備hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar;

Hessian接口的使用一般是在兩個工程之間,本文假定工程A作為服務方,B作為使用方(客戶端)。

二、服務方的配置和服務類的編寫

  A作為服務方,首先向A中導入hessian的jar包,若是maven工程,則直接添加hessian的依賴jar則可,否則直接將jar導入工程lib下面。

依賴添加如下:在A的pom.xml中 添加:如下的pom依賴配置:

添加完依賴之后,實現hessian的服務配置實現。配置hessian的servlet,便於服務方可以解析hessian的服務請求。在A中web.xml配置hessian的servlet如下:

配置完servlet之后,客戶端的.hs的方式請求,都會按照servlet的配置,會到hessian-servlet.xml文件中讀取配置,找到對應的服務的類方法。下面配置hessian-servlet.xml文件。

本文件為spring的配置文件,主要存放hessian的服務方的配置,多個hessian接口的配置均可以放到本文件中統一管理。下面以/hessianTestService.hs為例解釋:配置如下

Bean name=“hessianTestService” 此為hessian接口的服務類的bean配置,這個大家都懂的,Bean name =“/hessianTestService.hs” 服務名,以.hs結尾,同時對應hessian的servlet的分發配置url mapping 如上面的servlert的配置。Class 為固定的jar包類的class。org.springframework.remoting.caucho.HessianServiceExporter ,此類包含兩個屬性:

Name=“service” 這是配置hessian服務對應的實現類。注入實現類的bean—hessianTestService

Name=“serviceInterface” 這是服務類實現的接口層。Value 設置接口名,帶上包名的全稱。到此,hessian服務方的配置,全部完成。

下面實現 服務類的測試,編寫測試的方法如下:編寫簡單的測試方法,printMyName();

編寫配置里面對應的實現類的接口:

三、客戶端main函數的測試實現

服務方配置完成之后,啟動A工程,保證服務方的正常運行。在B工程中首先編寫main函數測試,能不能得到A中的剛剛編寫的測試類的服務。首先,同樣,使用hessian接口,還是要導入hessian的jar包。然后,編寫與服務方同樣的接口層,客戶端的配置實現.然后編寫,客戶端的main調用實現類如下:

客戶端的測試類分為兩部分:getservice() 和 excute()首先用服務方提供的url得到接口層的服務IHessianTestService,然后通過IHessianTestService來執行服務方類的方法。至此,直接運行測試類的main方法,可以測試hessian的服務方是否可以使用。可以使用,則可以進行客戶端的配置和注入使用。

測試運行結果如下:可以發現,調用了服務方的函數,得到結果顯示:

四、客戶端的配置和注入

測試通過了之后,開始配置hessian客戶端:配置內容如下:

Bean name=”testHessianHs” 客戶端的beanname class對應的是jar包類:org.springframework.remoting.caucho.HessianProxyFactoryBean

serviceInterface 對應的是客戶端編碼的與服務方一樣的接口層。ServiceUrl 對應的是 服務方提供的url(工程上下文+hessian服務名)工程上下文 最后是配置方式的,方便實現不同環境的切換。

注意:配置客戶端bean,最好是建一個專門的客戶端spring配置文件,我是用hessian-client文件。讓客戶端工程的web.xml加載hessian-client.xml.

將得到的客戶端bean   testHessianHs 可以方便的注入到你的controller中,可以使用服務方的服務類的實現方法。注入方式如下:

到此為止,就能方便的在自己的業務類中注入自己的客戶端的接口,方便的調用服務方提供的適用方法了.

簡單的hessian接口的使用就結束了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM