使用 Java EE 部署描述符和 WebSphere 绑定来定义资源引用

此规则会标记 META-INF/context.xml 文件中找到的可能需要迁移的 Context <Resource> 元素。

Apache Tomcat 允许在下列位置中定义 Context <Resource> 元素:

因为迁移工具可能无法访问 Tomcat 配置目录,所以迁移工具仅迁移 META-INF/context.xml 文件。 其他位置中定义的资源信息必须复制到 META-INF/context.xml 文件,才能进行处理。

源扫描程序中提供了快速修订。 该快速修订会从 Resource 元素获取信息,并根据需要创建资源引用或资源环境引用以及相应的 JNDI 名称。 Tomcat 会建议(但不要求)在 WEB-INF/web.xml 中定义 Resource 元素的相应资源引用。 该快速修订会搜索 resource-refresource-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> 元素:
<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 元素上设置该作用域,那么会在针对该快速修订创建新的资源引用时,将该作用域设为 Shareable。 如果 WEB-INF/web.xml 中已存在匹配的资源引用,那么不会进行更改。

如果 Web 项目是 Java EE 5 或更高版本,但 WEB-INF/web.xml 不存在,那么会创建 WEB-INF/web.xml 并添加新的资源引用元素。 如果 Web 项目是 J2EE 1.4 或更低版本,那么该快速修订将报告错误。

您也将需要在 WebSphere 配置中配置该资源。

有关 Tomcat 中上下文资源定义的更多信息,请参阅: