此规则会标记 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-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 元素上设置该作用域,那么会在针对该快速修订创建新的资源引用时,将该作用域设为 Shareable。 如果 WEB-INF/web.xml 中已存在匹配的资源引用,那么不会进行更改。
如果 Web 项目是 Java EE 5 或更高版本,但 WEB-INF/web.xml 不存在,那么会创建 WEB-INF/web.xml 并添加新的资源引用元素。 如果 Web 项目是 J2EE 1.4 或更低版本,那么该快速修订将报告错误。
您也将需要在 WebSphere 配置中配置该资源。
有关 Tomcat 中上下文资源定义的更多信息,请参阅: