Sun logo      上一個      目錄      下一個     

Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1

第 10 章
JNDI 資源

本章描述如何使用管理主控台來配置 JNDI 資源。它包含以下小節:


關於 Java 命名與目錄介面 (JNDI)

本小節將討論 Java 命名和目錄介面 (JNDI)。JNDI 是用於存取不同種類的命名和目錄服務的應用程式設計介面 (API)。J2EE 元件透過呼叫 JNDI 查找方法來尋找物件。

本小節包含以下主題:

JNDI 名稱和資源

JNDI 是 Java 命名和目錄介面 API 的首字母縮略。透過對此 API 進行呼叫,應用程式可以尋找資源和其他程式物件。資源是提供連線到系統的 (如資料庫伺服器和訊息傳送系統) 程式物件。(JDBC 資源有時被稱為資料源。)每個資源物件都是由唯一的易懂的名稱識別,稱為 JNDI 名稱。Application Server 包含的命名和目錄服務將資源物件及其 JNDI 名稱連結在一起。若要建立新資源,需要將新的名稱-物件連結輸入到 JNDI 中。

J2EE 命名服務

JNDI 名稱是易懂的的物件名稱。這些名稱透過 J2EE 伺服器提供的命名和目錄服務連結到其物件。由於 J2EE 元件透過 JNDI API 存取此服務,因此物件通常使用其 JNDI 名稱。例如,Pointbase 資料庫的 JNDI 名稱為 jdbc/Pointbase。當 Sun Java System Application Server 啟動時,將從配置檔案中讀取資訊,並自動將 JNDI 資料庫名稱增加到名稱空間。

需要 J2EE 應用程式用戶端、企業 Bean 與 Web 元件來存取 JNDI 命名環境。

應用程式元件的命名環境是一種機制,使用它可以在部署或組譯期間自訂應用程式元件的企業邏輯。使用應用程式元件的環境即可對應用程式元件進行自訂,而無需存取或變更應用程式元件的源代碼。

J2EE 容器實作應用程式元件的環境,並將該環境作為 JNDI 命名環境提供給應用程式元件實例。應用程式元件的環境的使用方式如下:

每個應用程式元件定義了其本身的環境項目集。一個應用程式元件在同一容器內的所有實例共用相同的環境項目。不允許應用程式元件實例在執行階段修改環境。

命名參考與連結資訊

資源參考是部署描述元中的元素,可以為資源識別元件的編碼名稱。更具體地說,編碼名稱參考資源的連線工廠。在下一小節給出的範例中,資源參考名稱是 jdbc/SavingsAccountDB

資源的 JNDI 名稱與資源參考的名稱是不同的。使用此命名方法,您需要在進行部署之前先對映這兩個名稱,但此方法也用於分離元件與資源。由於具有此分離功能,因此如果元件在以後需要存取其他資源,則無需變更名稱。這一靈活性使您可以更輕鬆地從預先存在的元件編譯 J2EE 應用程式。

表 10-1 列示了用於 Sun Java System Application Server 所使用的 J2EE 資源的 JNDI 查找及其關聯的參考。

表 10-1 JNDI 查找及其關聯的參考

JNDI 查找名稱

關聯的參考

java:comp/env

應用程式環境項目

java:comp/env/jdbc

JDBC DataSource 資源管理程式連線 Factory

java:comp/env/ejb

EJB 參考

java:comp/UserTransaction

UserTransaction 參考

java:comp/env/mail

JavaMail 階段作業連線 Factory

java:comp/env/url

URL 連線 Factory

java:comp/env/jms

JMS 連線 Factory 與目標

java:comp/ORB

應用程式元件共用的 ORB 實例


關於自訂資源

使用自訂資源

自訂資源存取本機 JNDI 儲存庫,外部資源存取外部 JNDI 儲存庫。這兩種類型的資源都需要使用者指定的工廠類別元素、JNDI 名稱屬性等。在本小節中,我們將討論如何為 J2EE 資源配置 JNDI 連線工廠資源,以及如何存取這些資源。

在 Application Server 中,您可以建立、刪除和列示資源以及 list-jndi-entities。

建立自訂資源

若要建立自訂資源,請執行以下步驟:

  1. 在管理主控台的左側窗格中,為要修改的 JNDI 配置開啟 Sun Java System Application Server 實例。
  2. 開啟 [JNDI] 標籤,並按一下 [自訂資源]。任何已經建立的自訂資源會在右側窗格中列示。若要建立新的自訂資源,按一下 [新建]。開啟 [JNDI] 標籤,並按一下 [新建]。將顯示一個頁面,用於增加新的自訂資源。
  3. 在 [JNDI 名稱] 欄位中,輸入用於存取資源的名稱。此名稱將註冊到 JNDI 命名服務中。
  4. 在 [資源類型] 欄位中,輸入完全合格的類型定義,如上面範例中所示。[資源類型] 定義遵循的格式為 xxx.xxx
  5. 在 [工廠類別] 欄位中,為要建立的自訂資源輸入工廠類別名稱。該欄位中的值是使用者指定的工廠類別的名稱。此類別實作 javax.naming.spi.ObjectFactory 介面。
  6. 在 [描述] 欄位中,為要建立的資源輸入描述。此描述是字串值,最多可以包含 250 個字元。
  7. 在 [附加特性] 區段,增加特性名稱和值。
  8. 標示 [啟用自訂資源] 核取方塊,以啟用自訂資源。
  9. 按一下 [確定],以儲存自訂資源。

如果已在叢集或獨立實例上部署自訂資源,則可以使用 [目標] 標籤管理目標。此標籤將在建立自訂資源之後顯示。透過輸入目標名稱並按一下 [確定] 來設定目標。

等效的 asadmin 指令為:create-custom-resource。

編輯自訂資源

若要編輯自訂資源,請執行以下步驟:

  1. 在管理主控台的左側窗格中,為要修改的 JNDI 配置開啟 Sun Java System Application Server 實例。
  2. 開啟 [JNDI] 並選取 [自訂資源]。任何已經建立的自訂資源會在右側窗格中列示。若要編輯自訂資源,請在右側窗格中按一下檔案名稱。
  3. 編輯 [資源類型] 欄位、[工廠類別] 欄位或 [描述] 欄位。
  4. 標示 [啟用自訂資源] 核取方塊,以啟用自訂資源。
  5. 按一下 [儲存] 以儲存對自訂資源的變更。

刪除自訂資源

若要刪除自訂資源,請執行以下步驟:

  1. 在管理主控台的左側窗格中,開啟 [JNDI] 標籤。
  2. 按一下 [自訂資源]。任何已經建立的自訂資源會在右側窗格中列示。若要刪除自訂資源,請按一下要刪除的資源名稱旁邊的方塊。
  3. 按一下 [刪除]。此自訂資源即被刪除。

等效的 asadmin 指令為:delete-custom-resource。

列示自訂資源

若要列示自訂資源,請鍵入 asadmin ist-custom-resources 指令。例如,若要列示主機 plum 上的自訂資源,請鍵入以下指令:

$asadmin list-custom-resource --host plum target6

如需檢視完整的環境,請鍵入 asadmin help list-custom-resources


關於外部 JNDI 儲存庫和資源

使用外部 JNDI 儲存庫和資源

通常,Sun Java System Application Server 上執行的應用程式需要存取儲存在外部 JNDI 儲存庫中的資源。例如,一般的 Java 物件可能會以 Java 模式儲存在 LDAP 伺服器中。外部 JNDI 資源元素允許使用者配置此類外部資源儲存庫。外部 JNDI 工廠必須實作 javax.naming.spi.InitialContextFactory 介面。

使用外部 JNDI 資源的範例為:

<資源>
<!-- external-jndi-resource 元素指定存取儲存在外部 JNDI 儲存庫中的
-- J2EE 資源的方式。下面的範例
-- 闡明存取儲存在 LDAP 中的 java 物件的方式。
-- factory-class 元素指定用來存取資源 Factory 所需的
-- JNDI InitialContext Factory。特性元素
-- 對應於外部 JNDI 環境可用的環境
-- 並且 jndi-lookup-name 指的是為了擷取指定的 (在此例中為
-- java) 物件所要查找的 JNDI 名稱。
-->
<external-jndi-resource jndi-name="test/myBean"
jndi-lookup-name="cn=myBean"
res-type="test.myBean"
factory-class="com.sun.jndi.ldap.LdapCtxFactory">
<property name="PROVIDER-URL" value="ldap://ldapserver:389/o=myObjects" />
<property name="SECURITY_AUTHENTICATION" value="simple" />
<property name="SECURITY_PRINCIPAL", value="cn=joeSmith, o=Engineering" />
<property name="SECURITY_CREDENTIALS" value="changeit" />
</external-jndi-resource>
</resources>

建立外部資源

若要建立外部資源,請執行以下步驟:

  1. 在管理主控台的左側窗格中,為要修改的 JNDI 配置開啟 Sun Java System Application Server 實例。
  2. 開啟 [JNDI] 並選取 [外部資源]。任何已經建立的外部資源會在右側窗格中列示。若要建立新的外部資源,按一下 [新建]。
  3. 在 [JNDI 名稱] 欄位中,輸入用於存取資源的名稱。此名稱將註冊到 JNDI 命名服務中。
  4. 在 [資源類型] 欄位中,輸入完全合格的類型定義,如上面範例中所示。[資源類型] 定義遵循的格式為 xxx.xxx
  5. 在 [JNDI 查找] 欄位中,輸入要在外部儲存庫中查找的 JNDI 值。例如,在建立一個與外部儲存庫連線的外部資源時,為了測試某個 Bean 類別,[JNDI 查找] 可能會如下所示:cn=testmybean
  6. 在 [工廠類別] 欄位中,輸入 JNDI 工廠類別外部儲存庫 (例如,com.sun.jndi.ldap)。此類別實作 javax.naming.spi. ObjectFactory 介面。
  7. 在 [描述] 欄位中,為要建立的資源輸入描述。此描述是字串值,最多可以包含 250 個字元。
  8. 在 [附加特性] 區段,增加特性名稱和值。
  9. 標示 [啟用外部資源] 核取方塊,以啟用外部資源。
  10. 按一下 [確定] 以儲存外部資源。

如果已在叢集或獨立實例上部署外部資源,則可以使用 [目標] 標籤管理目標。此標籤將在建立外部資源之後顯示。透過輸入目標名稱並按一下 [確定] 來設定目標。

等效的 asadmin 指令為:create-jndi-resource

編輯外部資源

若要編輯外部資源,請執行以下步驟:

  1. 在管理主控台的左側窗格中,為要修改的 JNDI 配置開啟 Sun Java System Application Server 實例。
  2. 開啟 [JNDI] 並選取 [外部資源]。任何已經建立的外部資源會在右側窗格中列示。若要編輯外部資源,請在右側窗格中按一下檔案名稱。
  3. 編輯 [資源類型] 欄位、[JNDI 查找] 欄位、[工廠類別] 欄位或 [描述] 欄位。
  4. 標示 [External Resource Enable] 核取方塊,以啟用外部資源。
  5. 按一下 [儲存] 以儲存對外部資源的變更。

刪除外部資源

若要刪除外部資源,請執行以下步驟:

  1. 在管理主控台的左側窗格中,開啟 [JNDI] 標籤。
  2. 按一下 [外部資源]。任何已經建立的外部資源會在右側窗格中列示。若要刪除外部資源,請按一下要刪除的資源名稱旁邊的方塊。
  3. 按一下 [刪除]。此外部資源即被刪除。

等效的 asadmin 指令為 delete-jndi-resource。

列示外部資源

若要列示外部資源,請鍵入 asadmin list-jndi-resources 指令並指定 JNDI 名稱。例如,鍵入以下指令可以列示外部資源:

$asadmin list-jndi-resources -- target plum jndi_name_test

如需檢視完整的環境,請鍵入 asadmin help list-jndi-resources



上一個      目錄      下一個     


Copyright 2004 - 2005 Sun Microsystems, Inc. 版權所有。