JavaTM 2 Platform
Standard Ed. 6

java.rmi.registry
介面 Registry

所有父級介面:
Remote

public interface Registry
extends Remote

Registry 是簡單遠端物件註冊表的一個遠端介面,它提供存儲和獲取綁定了任意字元串名稱的遠端物件參考的方法。bindunbindrebind 方法用於改變註冊表中的名稱綁定,lookuplist 方法用於查詢當前的名稱綁定。

在其典型用法中,Registry 啟用 RMI 客戶機引導:它為客戶機提供獲得對遠端物件的初始參考的簡單方式。因此,導出的註冊表的遠端物件實作通常具有已知的位址,如具有已知的 ObjID 和 TCP 埠號號(預設為 1099)。

LocateRegistry 類別提供的一個可程式的 API,以便建構對遠端位址上的 Registry 的引導參考(請參閱靜態 getRegistry 方法),以及在當前 VM 所在的特定本地位址創建和導出 Registry(請參閱靜態 createRegistry 方法)。

Registry 實作可以選擇限制對其中的某些或全部方法的存取(例如,可以限制改變註冊表綁定的方法來限制對本地主機發起的調用)。如果 Registry 方法選擇拒絕對給定調用的存取,則其實作可能拋出 AccessException,拋出的這一異常(因為它擴展 RemoteException)可能會在遠端客戶端捕獲它時包裹在 ServerException 中。

Registry 中用於綁定的名稱是純字元串,不是經過分析的。在 Registry 中存儲其遠端參考的服務可能希望將套件名稱用作名稱綁定中的前綴,以減少註冊表中可能的名稱衝突。

從以下版本開始:
JDK1.1
另請參見:
LocateRegistry

欄位摘要
static int REGISTRY_PORT
          已知的註冊表埠號。
 
方法摘要
 void bind(String name, Remote obj)
          綁定對此註冊表中指定 name 的遠端參考。
 String[] list()
          返回在此註冊表中綁定的名稱的陣列。
 Remote lookup(String name)
          返回註冊表中綁定到指定 name 的遠端參考。
 void rebind(String name, Remote obj)
          用提供的遠端參考替換此註冊表中指定的 name 綁定。
 void unbind(String name)
          移除此註冊表中指定的 name 綁定。
 

欄位詳細資訊

REGISTRY_PORT

static final int REGISTRY_PORT
已知的註冊表埠號。

另請參見:
常數欄位值
方法詳細資訊

lookup

Remote lookup(String name)
              throws RemoteException,
                     NotBoundException,
                     AccessException
返回註冊表中綁定到指定 name 的遠端參考。

參數:
name - 要尋找的遠端參考的名稱
返回:
對遠端物件的參考
拋出:
NotBoundException - 如果當前未綁定 name
RemoteException - 如果與註冊表的遠端通信失敗;如果異常是包含 AccessExceptionServerException,則註冊表拒絕調用方對執行此操作的存取。
AccessException - 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException - 如果 namenull

bind

void bind(String name,
          Remote obj)
          throws RemoteException,
                 AlreadyBoundException,
                 AccessException
綁定對此註冊表中指定 name 的遠端參考。

參數:
name - 與該遠端參考相關的名稱
obj - 對遠端物件(通常是一個 stub)的參考
拋出:
AlreadyBoundException - 如果已經綁定了 name
RemoteException - 如果與註冊表的遠端通信失敗;如果異常是包含 AccessExceptionServerException,則註冊表拒絕調用方對執行此操作的存取(例如,發起的操作來自非本地主機)
AccessException - 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException - 如果 namenull,或者如果 objnull

unbind

void unbind(String name)
            throws RemoteException,
                   NotBoundException,
                   AccessException
移除此註冊表中指定的 name 綁定。

參數:
name - 要移除的綁定名稱
拋出:
NotBoundException - 如果當前未綁定 name
RemoteException - 如果與註冊表的遠端通信失敗;如果異常是包含 AccessExceptionServerException,則註冊表拒絕調用方對執行此操作的存取(例如,發起的操作來自非本地主機)
AccessException - 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException - 如果 namenull

rebind

void rebind(String name,
            Remote obj)
            throws RemoteException,
                   AccessException
用提供的遠端參考替換此註冊表中指定的 name 綁定。如果存在指定 name 的現有綁定,則會丟棄此現有的綁定。

參數:
name - 與該遠端參考相關的名稱
obj - 對遠端物件(通常是一個 stub)的參考
拋出:
RemoteException - 如果與註冊表的遠端通信失敗;如果異常是包含 AccessExceptionServerException,則註冊表拒絕調用方對執行此操作的存取(例如,發起的操作來自非本地主機)
AccessException - 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException - 如果 namenull,或者如果 objnull

list

String[] list()
              throws RemoteException,
                     AccessException
返回在此註冊表中綁定的名稱的陣列。該陣列將包含一個此註冊表中調用此方法時綁定的名稱快照。

返回:
此註冊表中綁定名稱的陣列
拋出:
RemoteException - 如果與註冊表的遠端通信失敗;如果異常是包含 AccessExceptionServerException,則註冊表拒絕調用方對執行此操作的存取。
AccessException - 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only