リソース参照の定義に 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 では、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> エレメントを作成します。
<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 でのコンテキスト・リソース定義について詳しくは、以下を参照してください。