Puede utilizar variables en la configuración para evitar
la grabación en el código fuente de valores que quizá no sean adecuados cuando la
configuración se reutiliza en distintos entornos.
Acerca de esta tarea
Las variables se pueden definir estableciendo una propiedad en
cualquiera de estos sitios:
- en el archivo de configuración de servidor o un archivo
incluido
- en el archivo bootstrap.properties
Las
siguientes variables predefinidas puede hacer referencia a:
Procedimientos recomendados: Las variables que son específicas de un determinado servidor, por ejemplo, los números de
puerto se especifican en el archivo
bootstrap.properties, permitiendo que el archivo
server.xml se compartan entre varios servidores, mientras conserva
los valores distintos en cada servidor. Las variables que se comparten entre un grupo de servidores, por ejemplo, la configuración de base de datos para un determinado host, es mejor especificarla en un archivo xml que se incluye en el archivo de configuración padre.
Procedimientos recomendados: Los nombres de variable deben empezar por un carácter alfabético y deben contener sólo los
siguientes caracteres: caracteres alfabéticos, caracteres numéricos, y los caracteres "_" y
".".
- Especificar una variable en un archivo de configuración.
Las variables definidas en los archivos de configuración van dirigidas a los elementos
de configuración que las utilizan. Por ejemplo, el fragmento de código siguiente crea una
variable denominada
updateTrigger_var que será utilizada por los
elementos de configuración de
applicationMonitor:
<applicationMonitor updateTrigger_var="mbean" />
Para crear una variable que se utiliza en una determinada entrada
de instancia de configuración (como una entrada de aplicación o de recurso), debe
especificar también el identificador de instancia. Por ejemplo: <httpEndpoint id="defaultHttpEndpoint" HTTP_default_var="8889" />
- Especificar una variable en el archivo
bootstrap.properties.
Las variables definidas en el archivo
bootstrap.properties no van
dirigidas a ningún elemento de configuración particular. Las variables se especifican como parejas
clave-valor. Por ejemplo:
HTTP_default_var=8006
- Utilizar una variable definida en la configuración.
La sintaxis de sustitución de variable es
${nombre_variable}. Por ejemplo, para
utilizar la variable
HTTP_default_var, añada el
fragmento de código
siguiente en el archivo de configuración:
<httpEndpoint id="defaultHttpEndpoint"
httpPort="${HTTP_default_var}">
</httpEndpoint>
- Utilice el elemento variable de la configuración
Puede utilizar el elemento
variable para definir una variable globalmente en la configuración del servidor. Si se ha definido la misma variable en un archivo included, quedará alterado temporalmente por la del archivo
server.xml. Por ejemplo, utilice el elemento
variable, añada el siguiente fragmento de código al archivo de configuración:
<variable name="HTTP_default_var" value="8889" />
- Utilice variables de entorno de proceso en la configuración
Las variables de entorno de proceso están disponibles si utiliza el prefijo de
variable de configuración env., por ejemplo:
<fileset dir="${env.LIBRARY_DIR}" includes="*.jar"/>
Si desea más información sobre cómo especificar estas variables de entorno, consulte el
tema Personalización del entorno del perfil Liberty.
Utilice expresiones de variable en la configuración Para las variables de configuración, puede utilizar una sintaxis de expresión de
variable limitada con el formato
${<operando><operador><operando>}. La
descripción de la variable es la siguiente:
- operando
- Los operandos pueden ser literales de tipo entero largo o el nombre de una variable
que contiene un valor entero largo. Los nombres de variable deben empezar por un carácter
alfabético y deben contener sólo los siguientes caracteres: caracteres alfabéticos,
caracteres numéricos, y los caracteres "_" y ".".
- operador
- Los operadores disponibles son:
- + para añadir
- – para restar
- * para multiplicar
- / para dividir
- Si la expresión no puede analizarse, se utiliza un valor no entero o se produce un error
aritmético, el comportamiento no está definido.
Por ejemplo, si se define la variable HTTP_port_base, puede
utilizarse una expresión de variable para definir varios httpEndpoints: <httpEndpoint id="defaultHttpEndpoint" httpPort="${HTTP_port_base+0}"/>
<httpEndpoint id="httpEndpoint2" httpPort="${HTTP_port_base+1}"/>
- Alteración temporal de atributos heredables en la configuración
Puede alterar temporalmente los valores predeterminados de los atributos heredables en la configuración. Los atributos heredables se listan en la página Elementos de configuración en el archivo server.xml con un tipo Inherits. Por ejemplo, el atributo onError es uno de los atributos heredables. Puede definir globalmente un nombre de variable para el atributo onError, estableciéndolo en el archivo bootstrap.properties o en el archivo server.xml con un elemento variable. Si el mismo nombre de variable se especifica en ambos archivos, se utiliza el valor del archivo server.xml. Si el atributo no está establecido explícitamente en cualquiera de los dos archivos, utiliza el valor predeterminado. Si un valor no válido se establece en el atributo heredable, el valor del atributo vuelve a ser el del valor global definido en el archivo bootstrap.properties o server.xml o el valor predeterminado si no se ha definido a nivel global.
Otro ejemplo es el registro de propiedades en el perfil Liberty. Consulte
Inicio de sesión y rastreo.