1.背景介紹
RMI(Remote Method Invocation,遠程方法調用)是用Java在JDK1.1中實現的,它大大加強了Java開發分佈式應用的能力。 RMI使用Java語言接口定義了遠程對象,它集合了Java序列化和Java遠程方法協議(Java Remote Method Protocol)。 簡單地說,這樣使原先的程序在同一操做系統的方法調用,變成了不一樣操做系統之間程序的方法調用,因爲J2EE是分佈式程序平臺,它以RMI機制實現程序組件在不一樣操做系統之間的通訊。html
RMI應用程序一般包括兩個獨立的程序:服務器程序和客戶機程序。java
典型的服務器應用程序將建立多個遠程對象,使這些遠程對象可以被引用,而後等待客戶機調用這些遠程對象的方法。 而典型的客戶機程序則從服務器中獲得一個或多個遠程對象的引用,而後調用遠程對象的方法。git
RMI的技術原理以下github
1)、生成一個遠程接口spring
2)、實現遠程對象(服務器端程序)服務器
3)、生成佔位程序和骨幹網(服務器端程序)分佈式
4)、編寫服務器程序編碼
5)、編寫客戶程序操作系統
6)、註冊遠程對象.net
7)、啓動遠程對象
2.知識剖析
再看SpringRMI
咱們知道Spring喜歡作封裝,因此SpringRMI其實也是對RMI進行了封裝,而後使咱們使用的時候更加簡便,可操做性更強
Spring RMI中,主要有兩個類:
org.springframework.remoting.rmi.RmiServiceExporter和org.springframework.remoting.rmi.RmiProxyFactoryBean
服務端使用RmiServiceExporter暴露RMI遠程方法,客戶端用RmiProxyFactoryBean間接調用遠程方法。
3.常見問題
咱們知道RMI和SpringRMI是什麼了,也知道它們的目的和應用場景了,接下來就是喜聞樂見的如何使用了
4.解決方案
首先JavaRMI是使用具體的方法實現類來操做的,而且以前也介紹了,分爲服務端和客戶端
而後SpringRMI是封裝咱們也說過了,操做簡單,經過配置文件來進行相關操做,又是解耦~
一樣要分開服務端和客戶端
接下來就實戰演練,加深理解
5.編碼實戰
視頻
6.擴展思考
7.參考文獻
http://blog.csdn.net/zmx72961...
http://baike.sogou.com/v13550...
8.更多討論