簡體   English   中英

將方法中的遠程對象傳遞給RMI服務器?

[英]Pass Remote object in method to RMI server?

我有一個連接到某個RMI服務器的RMI客戶端,只是為了讓它知道它可以使用這個新客戶端。

我可以直接傳遞一些Remote對象,以便:

serverRemoteObject.registerClient(theClientRemoteObjectTheServerShouldUse);

實際上會給服務器一些他可以使用的對象,而無需連接到我的客戶端? 以下問題說這是可能的,但沒有給出真實的例子:

是否可以在兩個類之間使用RMI雙向?

安德魯

是的你可以。 這就是在RMI情況下回調的工作原理。 您將對象發送到服務器,當服務器調用對象上的方法時,它將在“客戶端”JVM中執行,而不是在服務器上執行。 查看UnicastRemoteObject.export方法,將實現Remote接口的任何對象導出為可以傳遞給服務器的遠程對象。

interface UpdateListener extends Remote {

  public void handleUpdate(Object update) throws RemoteException;

}

class UpdateListenerImpl implements UpdateListener {

  public void handleUpdate(Object update) throws RemoteException {
  // do something
  }

}

//somewhere in your client code
final UpdateListener listener = new UpdateListenerImpl();
UnicastRemoteObject.export(listener);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM