Java RMI 用法總結

來源:互聯網
上載者:User

標籤:java   rmi   webservice   分布式   

RMI就是遠程方法調用的簡寫。顧名思義,就是讓一台機器上的對象調用另外一個機器上的對象。RMI的用法非常簡單,首先是服務端定義一個介面(介面要擴充Remote介面),再實現這個介面(要擴充UnicastRemoteObject),再綁定到Naming靜態類中。用戶端通過Naming擷取一個遠程對象,就可以像普通的對象一樣調用遠程對象了。RMI中有個Stub類,它的作用就是Proxy 伺服器的介面對象,負責將方法的調用轉換成網路請求發送給伺服器,再從伺服器返回對象進行解碼。在JDK1.5中,Stub類會自動產生。

RIM可以傳輸代碼。用戶端可以向伺服器提交Runnable對象,Runnable對象中的代碼在服務端不存在。當服務端檢測到某個類不存在時,就會從用戶端下載某個類檔案。因此可以實現向伺服器提交重量級的計算任務。

RMI使用步驟如下:
// 第一步設計介面。public interface Hello extends Remote {    public String hello() throws RemoteException;}// 第二步實現介面。public class HelloImpl extends UnicastRemoteObject implements Hello {    public String hello() {        return "hello";    }}// 第三步開啟服務。public class Server {    public static void main(String[] argv) {        Hello hello = new HelloImpl();        Registry registry = LocateRegistry.getRegistry(8888);        registry.rebind("hello", hello);    }}// 第四步使用。public class Client {    public static void main(String[] argv) {        Hello hello = Naming.lookup("rmi://127.0.0.1:8888/hello");        String s = hello.hello();    }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.