傳統的建立RMI服務,會涉及如下幾個步驟:
1、編寫遠端服務接口,該接口必須繼承 java.rmi.Remote
接口,方法必須抛出 java.rmi.RemoteException 異常;
2、編寫遠端接口實作類,該實作類必須繼承
java.rmi.server.UnicastRemoteObject 類;
3、運作RMI編譯器(rmic),建立用戶端 stub 類和服務端
skeleton 類;
4、啟動一個RMI系統資料庫,以便駐留這些服務;
5、在RMI系統資料庫中注冊服務;
1、服務接口
2、服務實作類
3、Spring檔案配置
4、啟動服務
說明:如果使用傳統的RMI來釋出服務,在服務實作類中所有方法都得抛出
java.rmi.RemoteException 異常。但如果使用Spring的
org.springframework.remoting.rmi.RmiServiceExporter 将該類轉化為 RMI 服務,那麼實作将簡單的多。
RmiServiceExporter 可以将任何一個 Spring 管理的Bean釋出為一個 RMI
服務,預設情況下,RmiServiceExporter會嘗試将一個RMI系統資料庫綁定到本機的1099端口。如果在這個端口沒有發現RMI系統資料庫,RmiServiceExporter将重新啟動一個系統資料庫。如果希望将某個
RMI 系統資料庫綁定到不同的端口或主機,可以通過 registryPort和registryHost屬性指定。
三、裝配RMI服務
1、接口同上
2、配置Spring
3、用戶端調用
說明:Spring的
org.springframework.remoting.rmi.RmiProxyFactoryBean 是一個工廠Bean,
該Bean可以為RMI服務建立代理。