?? jndi.html
字號:
<?xml version="1.0" encoding="GB2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"><head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <meta name="keywords" content="electronic commerce, ecommerce, ebusiness, e-business, e-commerce, enterprise software, net economy, Sun Microsystems, Sun Open Net Environment, Sun ONE, internet software" /> <meta name="Description" content="Sun Microsystems, Inc. is delivering Sun ONE e-commerce software and enterprise solutions that enable companies to compete successfully in the Net Economy." /> <meta name="TemplateVersion" content="Sun ONE WDT 2.3.1" /> <meta name="LASTUPDATED" content="10/03/03 09:48:15" /> <meta name="BookTitle" content="Sun Java System Application Server Enterprise Edition 8.1 Administration Guide 2005Q1" /> <title>第 10 章 JNDI 資源</title> <link href="catalog.css" tppabs="http://docs.sun.com/source/819-1553/catalog.css" rel="stylesheet" type="text/css" /> <!-- on load bring this window to front --> <script laguage="javascript"> top.window.focus(); </script></head><body text="#000000" link="#594FBF" vlink="#9966cc" alink="#333366" bgcolor="#FFFFFF"><a name="top"> </a><!-- navigation --> <table width="100%" border="0" cellspacing="4" summary="Header navigation table"> <tr><td> <p class="pNavigation"> <a HREF="javascript:if(confirm('http://www.sun.com/software/ \n\n該文件無法用 Teleport Ultra 下載, 因為 它是一個域或路徑外部被設置為它的啟始地址的地址。 \n\n你想在服務器上打開它?'))window.location='http://www.sun.com/software/'" tppabs="http://www.sun.com/software/"> <img SRC="Logo.jpg" tppabs="http://docs.sun.com/source/819-1553/Logo.jpg" alt="Sun logo" valign="bottom" border="0" /></a>      <a href="javamail.html" tppabs="http://docs.sun.com/source/819-1553/javamail.html">上一頁</a>      <a href="index.html" tppabs="http://docs.sun.com/source/819-1553/index.html">目錄</a>      <a href="connector.html" tppabs="http://docs.sun.com/source/819-1553/connector.html">下一頁</a>      </p> </td></tr> <tr><td valign="top" align="right" bgcolor="#594FBF"> <span class="cBookTitle">Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1</span> </td></tr> </table><!-- end navigation --><blockquote><!-- chapter content --><a name="wp201600"> </a><h2 class="pChapNumber"><span class="cGray">第 10 章</span><br /><a name="wp201602"> </a>JNDI 資源</h2><a name="wp201604"> </a><p class="pParagraph">本章介紹了如何使用管理控制臺來配置 JNDI 資源。它包含以下各節:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp201610"> </a><div class="pSmartList1"><li><a href="jndi.html#wp201626" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201626">關于 Java 命名和目錄接口 (JNDI)</a></li></div><a name="wp201616"> </a><div class="pSmartList1"><li><a href="jndi.html#wp201723" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201723">關于自定義資源</a></li></div><a name="wp201622"> </a><div class="pSmartList1"><li><a href="jndi.html#wp201947" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201947">關于外部 JNDI 系統信息庫和資源</a></li></div></ul></div><a name="wp201626"> </a><h2 class="pHeading1"><hr />關于 Java 命名和目錄接口 (JNDI)</h2><a name="wp201628"> </a><p class="pParagraph">本節將討論 Java 命名和目錄接口 (JNDI)。JNDI 是用于訪問不同種類的命名和目錄服務的應用程序編程接口 (API)。J2EE 組件通過調用 JNDI 查找方法來定位對象。</p><a name="wp201630"> </a><p class="pParagraph">本節包括以下主題:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp201636"> </a><div class="pSmartList1"><li><a href="jndi.html#wp201656" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201656">JNDI 名稱和資源</a></li></div><a name="wp201642"> </a><div class="pSmartList1"><li><a href="jndi.html#wp201672" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201672">J2EE 命名服務</a></li></div><a name="wp201648"> </a><div class="pSmartList1"><li><a href="jndi.html#wp201698" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201698">命名引用和綁定信息</a></li></div></ul></div><a name="wp201656"> </a><h3 class="pHeading2">JNDI 名稱和資源</h3><a name="wp201658"> </a><p class="pParagraph">JNDI 是 Java 命名和目錄接口 API 的首字母縮略詞。通過對此 API 進行調用,應用程序可以定位資源和其他程序對象。資源是提供到系統(如數據庫服務器和消息傳送系統)的連接的程序對象。(JDBC 資源有時被稱為數據源。)每個資源對象都是由唯一的友好名稱所標識,稱為 JNDI 名稱。Application Server 附帶的命名和目錄服務將資源對象及其 JNDI 名稱綁定在一起。要創建新資源,需要將新的名稱-對象綁定輸入到 JNDI 中。</p><a name="wp201672"> </a><h3 class="pHeading2">J2EE 命名服務</h3><a name="wp201676"> </a><p class="pParagraph">JNDI 名稱是便于用戶使用的對象名稱。這些名稱通過 J2EE 服務器提供的命名和目錄服務綁定到其對象。由于 J2EE 組件通過 JNDI API 訪問此服務,因此對象通常使用其 JNDI 名稱。例如,Pointbase 數據庫的 JNDI 名稱為 <code class="cCode">jdbc/Pointbase</code>。當 Sun Java System Application Server 啟動時,將從配置文件中讀取信息,并自動將 JNDI 數據庫名稱添加到名稱空間。</p><a name="wp201678"> </a><p class="pParagraph">J2EE 應用程序客戶機、企業 Bean 以及 Web 組件都需要具有權限,才能訪問 JNDI 命名環境。 </p><a name="wp201680"> </a><p class="pParagraph">應用程序組件的命名環境是一種機制,使用它可以在部署或匯編期間自定義應用程序組件的商業邏輯。使用應用程序組件的環境即可對應用程序組件進行自定義,而無需訪問或更改應用程序組件的源代碼。</p><a name="wp201682"> </a><p class="pParagraph">J2EE 容器實現 J2EE 應用程序組件的環境,并將該環境作為 JNDI 命名上下文提供給 J2EE 應用程序組件實例。J2EE 應用程序組件的環境的使用方式如下:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp201684"> </a><div class="pSmartList1"><li>應用程序組件的商業方法使用 JNDI 接口訪問該環境。應用程序組件提供商在部署描述符中聲明應用程序組件需要其運行時環境提供的所有環境項。</li></div><a name="wp201686"> </a><div class="pSmartList1"><li>容器實現存儲應用程序組件環境的 JNDI 命名上下文。容器還提供了部署者可以用于創建和管理每個應用程序組件的環境的工具。</li></div><a name="wp201688"> </a><div class="pSmartList1"><li>部署者使用容器提供的工具,可以初始化應用程序組件的部署描述符中聲明的環境項。部署者可以設置和修改環境條目的值。</li></div><a name="wp201690"> </a><div class="pSmartList1"><li>容器使環境命名上下文在運行時可用于應用程序組件實例。應用程序組件的實例使用 JNDI 接口獲取環境項的值。</li></div></ul></div><a name="wp201692"> </a><p class="pParagraph">每個應用程序組件定義了其本身的環境項集合。一個應用程序組件在同一容器內的所有實例共享相同的環境項。不允許應用程序組件實例在運行時修改環境。</p><a name="wp201698"> </a><h3 class="pHeading2">命名引用和綁定信息</h3><a name="wp201702"> </a><p class="pParagraph">資源引用是部署描述符中的一種元素,用于標識該資源的組件的編碼名稱。更具體地說,編碼名稱引用資源的連接工廠。在下節給出的示例中,資源引用名稱是 <code class="cCode">jdbc/SavingsAccountDB</code>。</p><a name="wp201706"> </a><p class="pParagraph">資源的 JNDI 名稱與資源引用的名稱是不同的。使用此命名方法,您需要在進行部署之前先映射這兩個名稱,但此方法也用于將組件與資源分離開。由于具有此分離功能,因此如果組件在以后需要訪問其他資源,則無需更改名稱。這一靈活性使您可以更加容易地從先前存在的組件匯編 J2EE 應用程序。</p><a name="wp201714"> </a><p class="pParagraph"><a href="jndi.html#wp201283" tppabs="http://docs.sun.com/source/819-1553/jndi.html#wp201283">表 10-1</a> 列出了用于 Sun Java System Application Server 所使用的 J2EE 資源的 JNDI 查找及其關聯的引用。</p><a name="wp201717"> </a><p class="pAnchor"></p><div align="left"><table border="1" cellpadding="5" cellspacing="0" id="wp201283"> <caption><a name="wp201283"> </a><p class="pCaption">表 10-1 JNDI 查找及其關聯的引用</p></caption> <tr bgcolor="#cdccee" align="left" valign="top"> <th scope="col"><a name="wp201289"> </a><p class="pTableHead">JNDI 查找名稱</p></th> <th scope="col"><a name="wp201291"> </a><p class="pTableHead">關聯的引用</p></th></tr> <tr align="left" valign="top"> <td><a name="wp201297"> </a><p class="pTableText"><code class="cCode">java:comp/env</code></p></td> <td><a name="wp201299"> </a><p class="pTableText">應用程序環境項</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201305"> </a><p class="pTableText"><code class="cCode">java:comp/env/jdbc</code></p></td> <td><a name="wp201307"> </a><p class="pTableText">JDBC 數據源資源管理器連接工廠</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201313"> </a><p class="pTableText"><code class="cCode">java:comp/env/ejb</code></p></td> <td><a name="wp201315"> </a><p class="pTableText">EJB 引用</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201321"> </a><p class="pTableText"><code class="cCode">java:comp/UserTransaction</code></p></td> <td><a name="wp201323"> </a><p class="pTableText">UserTransaction 引用</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201329"> </a><p class="pTableText"><code class="cCode">java:comp/env/mail</code></p></td> <td><a name="wp201331"> </a><p class="pTableText">JavaMail 會話連接工廠</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201337"> </a><p class="pTableText"><code class="cCode">java:comp/env/url</code></p></td> <td><a name="wp201339"> </a><p class="pTableText">URL 連接工廠</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201345"> </a><p class="pTableText"><code class="cCode">java:comp/env/jms</code></p></td> <td><a name="wp201347"> </a><p class="pTableText">JMS 連接工廠和目標</p></td></tr> <tr align="left" valign="top"> <td><a name="wp201353"> </a><p class="pTableText"><code class="cCode">java:comp/ORB</code></p></td> <td><a name="wp201355"> </a><p class="pTableText">應用程序組件之間共享的 ORB 實例</p></td></tr></table></div><p class="pAnchor"></p><a name="wp201723"> </a><h2 class="pHeading1"><hr />
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -