Spring與RMI集成實現遠程訪問

使用Spring對RMI的支持,可以非常容易地構建你的分佈式應用。在服務端,可以通過Spring的org.springframework.remoting.rmi.RmiServiceExporter可以暴露你的服務;在客戶端,通過org.springframework.remoting.rmi.RmiProxyFactoryBean可以使用服務端暴露的服務,非常方便。這種C/S模型的訪問方式,可以屏蔽掉RMI本身的複雜性,如服務端Skeleton和客戶端Stub等的處理細節,這些對於服務開發和服務使用的人員來說,都是透明的,無需過度關注,而集中精力開發你的商業邏輯。

下面通過一個例子,說明如何通過Spring集成RMI。

服務端發佈服務

我們定義了服務接口,服務端實現該服務接口來完成其複雜的邏輯,客戶端可以通過該接口調用服務端暴露的服務,如下所示:

服務實現,示例如下所示:

服務端發佈服務,供客戶端進行(遠程方法)調用,Spring配置server.xml如下所示:

上面配置,指定了暴露的服務的名稱,通過serviceName屬性注入到RmiServiceExporter中,服務名稱爲MobileAccountService,客戶端通過該服務名稱就能夠進行調用。

下面啓動服務端,發佈服務,如下所示:

 

客戶端調用服務

客戶端配置client.xml如下所示:

配置中,將一個serviceUrl和serviceInterface注入給RmiProxyFactoryBean,即可進行遠程方法調用。調用示例如下所示:

可見,實現遠程訪問變得非常容易。

發佈了73 篇原創文章 · 獲贊 19 · 訪問量 110萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章