Utilizaţi descriptori de implementare Java EE pentru a defini referinţe de mediu

Această regulă semnalează Context <Environment> elemente găsite în fișierul META-INF/context.xml care trebuie să fie transformate în <env-entry> elemente în WEB-INF/web.xml .

Apache Tomcat permite Context <Environment> elemente care trebuie definite în aceste locații:

Deoarece instrumentul de migrare s-ar putea să nu aibă acces la Tomcat de configurare a modelului Context <Environment> în META-INF/context.xml . Context <Environment> informații definite în celelalte locații pot fi copiate în fișierul META-INF/context.xml pentru ca acesta să fie procesat de instrument.

Dacă există un fişier WEB-INF/web.xml în proiectul web:

Context <Environment> elementele vor fi marcate în oricare dintre următoarele condiții:

Adăugați un nou <env-entry> element în fișierul de tip " web.xml Context <Environment> element în cazul în care nu există deja în web.xml . Dacă intrarea există, aceasta va fi actualizată.

Dacă nu există fişierul WEB-INF/web.xml:

Toate Context <Environment> Elementele vor fi marcate.

Creați un WEB-INF/web.xml fișier care include <env-entry> elemente dacă proiectul web este la Java EE 5 sau mai mare. Soluția automată va raporta o eroare dacă proiectul web se află la J2EE 1.4 sau mai jos.

De exemplu, luaţi în considerare un fişier META-INF/context.xml cu următorul conţinut:
< span class="Code"> < Mediu
description="Trigger because it does not exist"
name="newEntry"
override="false"
"java.lang.String" valoare = "abc123"/>
<Environment
description="Trigger because of different value"
name="contextEnvString_1"
override="false"
type="java.lang.String"
= "valoare nouă " />
<Environment
description="Trigger because of different type"
name="contextEnvString_2"
override="false"
type="java.lang.Integer"
/>
<Environment
description="will not Trigger because of override set to true."
name="contextEnvString_3"
override="true"
type="java.lang.Integer"
/>

cu următorul fişier web.xml în aplicaţie:

< span class="Code"> < env-entry>
<description>Declanșator din cauza valorii diferite</description>
<env-entry-name>contextEnvString_1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>oldValue</env-entry-value>
</env-entry>

< env-entry>
<description>Declanșator din cauza tipului diferit</description>
<env-entry-name>contextEnvString_2</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>123</env-entry-value>
</env-entry>

< env-entry>
<description>nu va declanșa din cauza suprascrierii setat la adevărat.</description>
<env-entry-name>contextEnvString_3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>123456789</env-entry-value>
</env-entry>

După aplicarea remedierii automate, fișierul web.xml va fi actualizată pentru a conține:

< span class="Code"> < env-entry>
<description>Declanșator din cauza valorii diferite</description>
<env-entry-name>contextEnvString_1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>New Value</env-entry-value>
</env-entry>

< env-entry>
<description>Declanșator din cauza tipului diferit</description>
<env-entry-name>contextEnvString_2</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>123</env-entry-value>
</env-entry>

< env-entry>
<description>nu va declanșa din cauza suprascrierii setat la adevărat.</description>
<env-entry-name>contextEnvString_3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>123456789</env-entry-value>
</env-entry>

< env-entry>
<description>Declanșatorul becasue nu există</description>
<env-entry-name>newEntry</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>abc123</env-entry-value>
</env-entry>