-
javax.naming
鎖定
- 中文名
- javax.naming
- 外文名
- Java Naming and Directory InterfaceTM
- 簡 稱
- JNDI
- 類 型
- 編程語言
javax.naming常見問題
javax.naming上下文
此包定義上下文 的概念,由 Context 結構表示。上下文由一組名稱到對象的綁定 組成。Context 是用來查找、綁定、取消綁定和重新命名對象,以及創建和銷燬子上下文的核心接口。
lookup() 是最常使用的操作。當向 lookup() 提供想要查詢的對象的名稱時,它將返回綁定到該名稱的對象。例如,以下代碼段要查找一台打印機並將文檔發送給該打印機對象打印:
Printer printer = (Printer)ctx.lookup("treekiller");
printer.print(report);
javax.naming名稱
Context 接口中的每個命名方法都有兩個重載形式:一個接受 Name 參數,另一個接受字符串名稱。Name 是一個表示一般名稱的接口,一般名稱是零個或多個組件的有序序列。對於這些方法,可以使用 Name 表示複合名稱 (CompositeName),從而可以使用跨多個名稱空間的名稱來命名一個對象。
接受 Name 的重載方法對那些需要對名稱進行以下操作的應用程序很有用:組合名稱、比較組件等等。接受字符串名稱的重載方法對那些簡單的應用程序可能更加有用,比如那些只是讀取某一名稱以及查找相應對象的應用程序。
javax.naming綁定
Binding 類表示一個名稱到對象的綁定。它是一個包含所綁定對象的名稱、對象的類的名稱和對象本身的元組 (tuple)。
Binding 類實際上是 NameClassPair 的子類,由對象的名稱和對象的類名稱組成。在只想要關於對象的類的信息以及不想為獲得對象而額外開銷時,NameClassPair 很有用。
javax.naming引用
對象以不同方式存儲在命名和目錄服務中。如果對象存儲支持存儲 Java 對象,則它可能支持以序列化形式存儲對象。不過,一些命名和目錄服務不支持存儲 Java 對象。此外,對於目錄中某些對象而言,Java 程序只是訪問它們的一組應用程序。在這種情況下,序列化 Java 對象可能不是最合適的表示形式。JNDI 定義了一個由 Reference 類表示的引用,它包含有關如何構造對象副本的信息。JNDI 將嘗試把從目錄中找到的引用轉換成它們表示的 Java 對象,從而給 JNDI 客户端製造一種目錄中存儲的是 Java 對象的假象。
javax.naming初始上下文
在 JNDI 中,所有命名和目錄操作都是相對於上下文執行的。沒有絕對的根。所以 JNDI 定義了一個初始上下文 InitialContext,為命名和目錄操作提供起始點。一旦有了初始上下文,就可以使用它來查找其他上下文和對象。
javax.naming異常
JNDI 為可能在執行命名和目錄操作期間拋出的異常定義了一個類層次。此類層次的根是 NamingException。需要處理特定異常的程序可以捕獲相應的異常子類。否則,這些程序應該捕獲 NamingException。
javax.naming包規範
以下文檔可以在 Java 技術站點找到:
JNDI API Document (Postscript)
JNDI API Document (PDF)
javax.naming相關文檔
有關教程、示例和概述,請參閲:
The JNDI Tutorial
Examples
Executive Summary (Postscript)
Executive Summary (PDF)
從以下版本開始:
1.3