Esta regla marca
Context <Environment>
elementos encontrados en el archivo META-INF/context.xml que se deben transformar en
<env-entry>
elementos en el
Archivo WEB-INF/web.xml .
Apache Tomcat permite
Context <Environment>
elementos que deben definirse en estas ubicaciones:
- El archivo META-INF/context.xml
- El archivo de configuración XML de aplicación en el directorio conf de Tomcat
- Los 2
<Host>
en conf/server.xml
Puesto que es posible que la herramienta de migración no tenga acceso al directorio de configuración de Tomcat , sólo señala el
Context <Environment>
en el
Archivo META-INF/context.xml .
Context <Environment>
La información definida en las otras ubicaciones se puede copiar en el archivo META-INF/context.xml para que la herramienta la procese.
Si existe un archivo WEB-INF/web.xml en el proyecto web:
Context <Environment>
los elementos se marcarán en cualquiera de las condiciones siguientes:
- La entrada no tiene una entrada coincidente en el archivo web.xml.
- La entrada tiene un tipo diferente que la entrada coincidente en el archivo web.xml.
- La entrada tiene un valor diferente que la entrada coincidente en el archivo web.xml y el distintivo de alteración temporal establecido en false.
Añadir un nuevo
<env-entry>
en el archivo web.xml que representa el
Context <Environment>
si todavía no existe en el elemento
web.xml .
Si la entrada existe, se actualizará.
Si el archivo WEB-INF/web.xml no existe:
Todos
Context <Environment>
se marcarán los elementos.
Crear un WEB-INF/web.xml archivo que incluya el archivo
<env-entry>
elementos si el proyecto web está en Java EE 5 o superior. La corrección automática informará de un error si el proyecto web está en J2EE 1.4 o inferior.
Por ejemplo, supongamos un archivo
META-INF/context.xml con el siguiente contenido:
< span class="Code"> < Entorno
description="Trigger because it does not exist"
name="newEntry"
override="false"
type= "java.lang.String" value= "abc123" />
<Environment
description="Trigger because of different value"
name="contextEnvString_1"
override="false"
type="java.lang.String"
value = "nuevo valor " />
<Environment
description="Trigger because of different type"
name="contextEnvString_2"
override="false"
type="java.lang.Integer"
value="123 " />
<Environment
description="will not Trigger because of override set to true."
name="contextEnvString_3"
override="true"
type="java.lang.Integer"
value="123 " />
con el siguiente archivo web.xml en la aplicación:
< span class="Code"> < entrada-env>
<description>Desencadenante debido a un valor diferente</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>Desencadenante debido a un tipo diferente</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>no se activará debido a que la alteración temporal se ha establecido en true.</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>
Una vez aplicada la corrección automática, el web.xml se actualizará para contener:
< span class="Code"> < entrada-env>
<description>Desencadenante debido a un valor diferente</description>
<env-entry-name>contextEnvString_1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>nuevo valor</env-entry-value>
</env-entry>
<env-entry>
<description>Desencadenante debido a un tipo diferente</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>no se activará debido a que la alteración temporal se ha establecido en true.</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>Desencadenante porque no existe</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>