Java-EE-Implementierungsdeskriptoren und WebSphere-Bindungen für die Definition von Ressourcenreferenzen verwenden

Diese Regel markiert Elemente "Context <Ressource>" in der Datei META-INF/context.xml, die unter Umständen migriert werden müssen.

Apache Tomcat lässt die Definition von Elementen "Context <Ressource>" an den folgenden Positionen zu:

Da das Migrationstool möglicherweise keinen Zugriff auf das Tomcat-Konfigurationsverzeichnis hat, migriert das Migrationstool nur die Datei META-INF/context.xml. An den anderen Positionen definierte Ressourceninformationen können zur Verarbeitung in die Datei META-INF/context.xml kopiert werden.

Es ist eine Schnellkorrektur im Quellenscanner verfügbar. Die Schnellkorrektur verwendet die Informationen aus den Elementen Resource und erstellt bei Bedarf eine Ressourcenreferenz bzw. eine Ressourcenumgebungsreferenz und einen entsprechenden JNDI-Namen. Tomcat empfiehlt, setzt aber nicht voraus, dass die entsprechende Ressourcenreferenz für das Element Resource in der Datei WEB-INF/web.xml definiert wird. Die Schnellkorrektur durchsucht die Liste mit den Elementen resource-ref und resource-env-ref, um festzustellen, ob der Eintrag, der dem Namen entspricht, bereits vorhanden ist. Wenn nicht, wird ein Eintrag erstellt. Wenn das element Resource ein Attribut auth hat, wird ein Element resource-ref erstellt. Wenn das Element Resource kein Attribut auth hat, wird ein Element resource-env-ref erstellt. In beiden Fällen wird der Wert des Attributs name auch als JNDI-Name verwendet und in den Bindungen definiert.

Sehen Sie sich als Beispiel das folgende Element Resource aus der Datei META-INF/context.xml an:
<Resource name="jdbc/exampleDB"
auth="Container"
type="javax.sql.DataSource"
description="Example Database"/>


Die Schnellkorrektur erstellt das folgende entsprechende Element <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>

Standardmäßig snd Ressourcen in Tomcat gemeinsam nutzbar. Wenn der Bereich im Element Resource nicht definiert ist, wird er auf "shareable" (gemeinsam nutzbar) gesetzt, wenn eine neue Ressourcenreferenz für die Schnellkorrektur erstellt wird. Wenn bereits eine entsprechende Ressourcenreferenz in der Datei "WEB-INF/web.xml" vorhanden ist, werden keine Änderungen vorgenommen.

Wenn das Webprojekt ein Projekt der Version Java EE 5 oder höher und die Datei WEB-INF/web.xml nicht vorhanden ist, wird die Datei WEB-INF/web.xml erstellt, und die neuen Ressourcenreferenzelemente werden hinzugefügt. Wenn das Webprojekt ein Projekt der Version J2EE 1.4 oder niedriger ist, meldet die Schnellkorrektur einen Fehler.

Außerdem müssen Sie die Ressource in der WebSphere-Konfiguration konfigurieren.

Weitere Informationen zur Kontextressourcendefinition in Tomcat finden Sie im folgenden Dokument: