|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Registry
Registry
是簡單遠端物件註冊表的一個遠端介面,它提供存儲和獲取綁定了任意字元串名稱的遠端物件參考的方法。bind
、unbind
和 rebind
方法用於改變註冊表中的名稱綁定,lookup
和 list
方法用於查詢當前的名稱綁定。
在其典型用法中,Registry
啟用 RMI 客戶機引導:它為客戶機提供獲得對遠端物件的初始參考的簡單方式。因此,導出的註冊表的遠端物件實作通常具有已知的位址,如具有已知的 ObjID
和 TCP 埠號號(預設為 1099
)。
LocateRegistry
類別提供的一個可程式的 API,以便建構對遠端位址上的 Registry
的引導參考(請參閱靜態 getRegistry
方法),以及在當前 VM 所在的特定本地位址創建和導出 Registry
(請參閱靜態 createRegistry
方法)。
Registry
實作可以選擇限制對其中的某些或全部方法的存取(例如,可以限制改變註冊表綁定的方法來限制對本地主機發起的調用)。如果 Registry
方法選擇拒絕對給定調用的存取,則其實作可能拋出 AccessException
,拋出的這一異常(因為它擴展 RemoteException
)可能會在遠端客戶端捕獲它時包裹在 ServerException
中。
在 Registry
中用於綁定的名稱是純字元串,不是經過分析的。在 Registry
中存儲其遠端參考的服務可能希望將套件名稱用作名稱綁定中的前綴,以減少註冊表中可能的名稱衝突。
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 綁定。 |
欄位詳細資訊 |
---|
static final int REGISTRY_PORT
方法詳細資訊 |
---|
Remote lookup(String name) throws RemoteException, NotBoundException, AccessException
name
的遠端參考。
name
- 要尋找的遠端參考的名稱
NotBoundException
- 如果當前未綁定 name
RemoteException
- 如果與註冊表的遠端通信失敗;如果異常是包含 AccessException
的 ServerException
,則註冊表拒絕調用方對執行此操作的存取。
AccessException
- 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException
- 如果 name
為 null
void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException
name
的遠端參考。
name
- 與該遠端參考相關的名稱obj
- 對遠端物件(通常是一個 stub)的參考
AlreadyBoundException
- 如果已經綁定了 name
RemoteException
- 如果與註冊表的遠端通信失敗;如果異常是包含 AccessException
的 ServerException
,則註冊表拒絕調用方對執行此操作的存取(例如,發起的操作來自非本地主機)
AccessException
- 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException
- 如果 name
為 null
,或者如果 obj
為 null
void unbind(String name) throws RemoteException, NotBoundException, AccessException
name
綁定。
name
- 要移除的綁定名稱
NotBoundException
- 如果當前未綁定 name
RemoteException
- 如果與註冊表的遠端通信失敗;如果異常是包含 AccessException
的 ServerException
,則註冊表拒絕調用方對執行此操作的存取(例如,發起的操作來自非本地主機)
AccessException
- 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException
- 如果 name
為 null
void rebind(String name, Remote obj) throws RemoteException, AccessException
name
綁定。如果存在指定 name
的現有綁定,則會丟棄此現有的綁定。
name
- 與該遠端參考相關的名稱obj
- 對遠端物件(通常是一個 stub)的參考
RemoteException
- 如果與註冊表的遠端通信失敗;如果異常是包含 AccessException
的 ServerException
,則註冊表拒絕調用方對執行此操作的存取(例如,發起的操作來自非本地主機)
AccessException
- 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
NullPointerException
- 如果 name
為 null
,或者如果 obj
為 null
String[] list() throws RemoteException, AccessException
RemoteException
- 如果與註冊表的遠端通信失敗;如果異常是包含 AccessException
的 ServerException
,則註冊表拒絕調用方對執行此操作的存取。
AccessException
- 如果此註冊表是本地的,並且它拒絕調用方對執行此操作的存取
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。