1. 程式人生 > >遠端方法呼叫(RMI)

遠端方法呼叫(RMI)

RMI(Remote Method Invocation)遠端方法呼叫是一種計算機之間利用遠端物件互相呼叫實現雙方通訊的一種通訊機制。使用這種機制,某一臺計算機上的物件可以呼叫另外 一臺計算機上的物件來獲取遠端資料。RMI是Enterprise JavaBeans的支柱,是建立分散式Java應用程式的方便途徑。在過去,TCP/IP套接字通訊是遠端通訊的主要手段,但此開發方式沒有使用面向對 象的方式實現開發,在開發一個如此的通訊機制時往往令程式設計師感覺到乏味,對此RPC(Remote Procedure Call)應運而生,它使程式設計師更容易地呼叫遠端程式,但在面對複雜的資訊傳訊時,RPC依然未能很好的支援,而且RPC未能做到面向物件呼叫的開發模 式。針對RPC服務遺留的問題,RMI出現在世人面前,它被設計成一種面向物件的通訊方式,允許程式設計師使用遠端物件來實現通訊,並且支援多執行緒的服務,這 是一次遠端通訊的革命,為遠端通訊開闢新的里程碑。

RMI的開發步驟

1、先建立遠端介面及宣告遠端方法,注意,這是實現雙方通訊的介面,需要繼承 Remote

2、開發一個類來實現遠端介面及遠端方法,值得注意的是實現類需要繼承 UnicastRemoteObject

3、啟動遠端物件

4、客戶端查詢遠端物件,並呼叫遠端方法

如果需要在雙方之間傳遞一個自定義物件,則該物件應該實現 Serializable

入門例項:

1、建立一個model層,作為遠端傳輸的物件,需要實現Serializable

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import java.io.Serializable; //注意物件必須繼承Serializable public class PersonEntity implements Serializable { private int id; private String name; private int age; public void setId(int id) { this.id = id; } public int getId() { return id; } public void setName(String name) {
this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge()