此規則會標示在可能需要移轉的 META-INF/context.xml 檔中找到的 Context <Resource> 元素。
Apache Tomcat 容許將 Context <Resource> 元素定義在下列位置中:
由於移轉工具可能沒有 Tomcat 配置目錄的存取權,移轉工具只會移轉 META-INF/context.xml 檔。 定義在其他位置中的 Resource 資訊可以複製到 META-INF/context.xml 檔,以便處理它。
原始檔掃描器提供了快速修正程式。 快速修正程式會從 Resource 元素取得資訊,並視需要建立資源參照或資源環境參照,以及對應的 JNDI 名稱。 Tomcat 建議(但非必要)將 Resource 元素的對應資源參照定義在 WEB-INF/web.xml 中。 快速修正程式會搜尋 resource-ref 和 resource-env-ref 元素清單,查看是否已有項目符合該名稱。 若無,則會建立一個。 如果 Resource 元素具有 auth 屬性,則會建立 resource-ref。 如果 Resource 元素沒有 auth 屬性,則會建立 resource-env-ref。 不論哪一種情況,也會使用 name 值作為 JNDI 名稱,並定義在連結中。
舉例來說,假設 META-INF/context.xml 檔中有下列 Resource 元素:|
<Resource name="jdbc/exampleDB" auth="Container" type="javax.sql.DataSource" description="Example Database"/> |
|
<resource-ref> <description> Example Database</description> <res-ref-name>jdbc/exampleDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> |
依預設,資源在 Tomcat 中可以共用。 如果未在 Resource 元素中設定範圍,當為快速修正程式建立新的資源參照時,會將範圍設為可共用。 如果 WEB-INF/web.xml 已存在相符的資源參照,則不會進行任何變更。
如果 Web 專案是 Java EE 5 或更新的版本,且 WEB-INF/web.xml 不存在,則會建立 WEB-INF/web.xml,並新增資源參照元素。 如果 Web 專案是 J2EE 1.4 或更舊的版本,快速修正程式將會報告錯誤。
您也必須在 WebSphere 配置中配置資源。
如需 Tomcat 中之環境定義資源定義的相關資訊,請參閱: