GlobalNamingResources 元件
目錄
簡介
GlobalNamingResources 元素定義 伺服器 的全域 JNDI 資源。
這些資源列在伺服器的全域 JNDI 資源內容中。此內容與 JNDI 資源操作指南 中所述的每個 Web 應用程式 JNDI 內容不同。在此元素中定義的資源在每個 Web 應用程式內容中不會顯示,除非您使用 <ResourceLink> 元素明確連結它們。
屬性
巢狀元件
特殊功能
環境條目
您可以透過在此元素中巢狀 <Environment>
條目,來設定將對所有 Web 應用程式顯示為環境條目資源的名稱值。例如,您可以建立一個環境條目,如下所示
<GlobalNamingResources ...>
...
<Environment name="maxExemptions" value="10"
type="java.lang.Integer" override="false"/>
...
</GlobalNamingResources>
這等於在 Web 應用程式部署描述符 (/WEB-INF/web.xml
) 中包含下列元素
<env-entry>
<env-entry-name>maxExemptions</env-entry-name>
<env-entry-value>10</env-entry-value>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
但不需要修改部署描述符來自訂這個值。
<Environment>
元素的有效屬性如下
屬性 | 說明 |
---|---|
說明 |
此環境條目的人類可讀式說明(選用)。 |
名稱 |
要建立的環境條目的名稱,相對於 |
覆寫 |
如果您不希望在 Web 應用程式部署描述子中找到的相同環境條目名稱的 |
類型 |
此環境條目預期的 Web 應用程式的完整 Java 類別名稱。必須是 Web 應用程式部署描述子中 |
值 |
從 JNDI 內容請求時會提供給應用程式的參數值。此值必須可轉換為 |
資源定義
您可以透過在此元素中定義,然後在 <Context>
元素中使用 <ResourceLink> 元素連結它們,來宣告要為 Web 應用程式部署描述子中的 <resource-ref>
和 <resource-env-ref>
元素的 JNDI 查詢回傳的資源特性。您必須使用資源元素上的屬性定義任何其他需要的參數,以設定要使用的物件工廠(如果 Tomcat 尚未知道)和用於設定該物件工廠的屬性。
例如,您可以建立像這樣的資源定義
<GlobalNamingResources ...>
...
<Resource name="jdbc/EmployeeDB" auth="Container"
type="javax.sql.DataSource"
description="Employees Database for HR Applications"/>
...
</GlobalNamingResources>
這等於在 Web 應用程式部署描述符 (/WEB-INF/web.xml
) 中包含下列元素
<resource-ref>
<description>Employees Database for HR Applications</description>
<res-ref-name>jdbc/EmployeeDB</res-ref-name>
<res-ref-type>javax.sql.DataSource</res-ref-type>
<res-auth>Container</res-auth>
</resource-ref>
但不需要修改部署描述符來自訂這個值。
<Resource>
元素的有效屬性如下
屬性 | 說明 |
---|---|
auth |
指定 Web 應用程式程式碼是否以程式方式登入對應的資源管理程式,或容器是否會代表應用程式登入資源管理程式。此屬性的值必須是 |
closeMethod |
當不再需要單一資源時,呼叫該資源的零引數方法的名稱。這是為了加速資源的清理,否則會在垃圾收集時發生。如果 對於 Apache Commons DBCP 2 和 Apache Tomcat JDBC 連線池,您可以使用 |
說明 |
此資源的人類可讀式說明(選用)。 |
名稱 |
相對於 |
範圍 |
指定是否可以共用透過此資源管理員取得的連線。此屬性的值必須為 |
單例 |
指定此資源定義是否為單例資源,亦即資源只有一個執行個體。如果此屬性為 |
類型 |
當 Web 應用程式執行此資源的查詢時,預期的完整 Java 類別名稱。 |
資源連結
使用 <ResourceLink>
元素將全域環境中的資源連結到每個 Web 應用程式環境中。以下是在 JNDI 資源操作指南 中的範例定義基礎上,建立一個自訂工廠可供應用程式使用的範例:
<Context>
<ResourceLink
name="bean/MyBeanFactory"
global="bean/MyBeanFactory"
type="com.mycompany.MyBean"
/>
</Context>
交易
您可以宣告針對 java:comp/UserTransaction
的 JNDI 查詢所傳回的 UserTransaction 特性。您必須定義一個物件工廠類別來建立此物件,以及 Transaction
元素屬性中所需的資源參數,以及用來設定該物件工廠的屬性。
<Transaction>
元素的有效屬性如下:
屬性 | 說明 |
---|---|
工廠 |
JNDI 物件工廠的類別名稱。 |