Utilizaţi descriptori de implementare Java EE pentru a defini parametri de context

Această regulă semnalează elementele Context <Parameter> din fişierul META-INF/context.xml.

Apache Tomcat permite elementelor Context <Parameter> să fie definite în aceste locaţii:

Unealta de migrare doar migrează elementele parametri în fişierul META-INF/context.xml. Informaţiile de parametri definite în alte locaţii pot fi copiate în fişierul META-INF/context.xml pentru a fi procesate.

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

Elementele Context <Parameter> vor fi semnalate în oricare dintre următoarele condiţii:

În scanerul de sursă este disponibilă o corecţie rapidă pentru această regulă. Corecţia rapidă va adăuga un element nou <context-param> în fişierul web.xml care reprezintă elementul Context <Parameter> dacă acesta nu există deja în fişierul web.xml. Dacă intrarea există, aceasta va fi actualizată.

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

Toate elementele Context <Parameter> vor fi semnalate.

Corecţia rapidă va crea un fişier WEB-INF/web.xml care include elementele corespunzătoare <context-param> dacă proiectul web este la versiunea Java EE 5 sau una ulterioară. Corecţia rapidă va raporta o eroare dacă proiectul web este la versiunea J2EE 1.4 sau una anterioară.

De exemplu, luaţi în considerare un fişier META-INF/context.xml cu următorul conţinut:

<Parameter
description="Trigger because it does not exist"
name="newEntry"
override="false"
value="abc123"/>
<Parameter
description="Trigger because of different value"
name="parameter_1"
override="false"
value="new Value"/>
<Parameter
description="Will not trigger because of override set to true"
name="parameter_2"
override="true"
value="123"/>

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

<context-param>
<description>Trigger because of different value</description>
<param-name>parameter_1</param-name>
<param-value>oldValue</param-value>
</context-param>

<context-param>
<description>Will not trigger because of override set to true</description>
<param-name>parameter_2</param-name>
<param-value>123456789</param-value>
</context-param>

După ce este aplicată corecţia rapidă, fişierul web.xml va fi actualizat să conţină:

<context-param>
<description>Trigger because it does not exist</description>
<param-name>newEntry</param-name>
<param-value>abc123</param-value>
</context-param>

<context-param>
<description>Trigger because of different value</description>
<param-name>parameter_1</param-name>
<param-value>new Value</param-value>
</context-param>

<context-param>
<description>Will not trigger because of override set to true</description>
<param-name>parameter_2</param-name>
<param-value>123456789</param-value>
</context-param>

Pentru informaţii suplimentare privind parametrul de context din Tomcat, vedeţi: