Vous pouvez utiliser des variables dans la configuration pour éviter de coder en dur les valeurs qui risquent de ne pas convenir si cette configuration est réutilisée dans un autre environnement.
Pourquoi et quand exécuter cette tâche
Vous pouvez définir des variables à l'aide de propriétés que vous placez
dans l'un des endroits suivants :
- Dans le fichier de configuration du serveur (fichier principal) ou dans un fichier inclus par celui-ci
- Dans le fichier bootstrap.properties
Les variables prédéfinies suivantes peuvent être référencées :
Pratiques recommandées : Les variables spécifiques à chaque serveur, par exemple les numéros
de port, sont généralement définies dans le fichier
bootstrap.properties, ce qui permet de partager
un même fichier server.xml entre différents
serveurs tout en préservant les données spécifiques de chaque
serveur. Les variables
communes à un groupe de serveurs, par exemple une configuration de base de données pour un
hôte particulier, seront spécifiées de préférence dans un fichier .xml à part, qui sera inclus par une référence
dans le fichier de configuration parent.
Pratiques recommandées : Les noms de variable doivent commencer par un caractère alphabétique
et contenir uniquement les caractères suivants : caractères
alphabétiques, caractères numériques et les caractères "_" et "."
.
- Spécifier une variable dans un fichier de configuration.
Les variables définies dans les fichiers de configuration ont une
portée limitée aux éléments de configuration qui les utilisent. Par
exemple, le fragment de code suivant crée une variable nommée
updateTrigger_var, à utiliser dans les éléments de
configuration
applicationMonitor :
<applicationMonitor updateTrigger_var="mbean" />
Pour
créer une variable à utiliser dans une instance de configuration particulière
(telle qu'une entrée d'application ou de ressource), vous devez également spécifier
l'identificateur de l'instance. Par exemple :<httpEndpoint id="defaultHttpEndpoint"
HTTP_default_var="8889" />
- Spécifier une variable dans le fichier bootstrap.properties.
Les variables définies dans le fichier
bootstrap.properties ne sont pas limitées à des
éléments de configuration particuliers. Vous les entrez sous forme
de paires clé-valeur.
Exemple :
HTTP_default_var=8006
- Utiliser une variable définie dans la configuration.
La substitution de variable emploie une syntaxe de la
forme
${nom_variable}. Par exemple, pour utiliser la variable
HTTP_default_var,
ajoutez le fragment de code suivant au fichier de configuration :
<httpEndpoint id="defaultHttpEndpoint"
httpPort="${HTTP_default_var}">
</httpEndpoint>
- Utiliser l'élément variable dans la configuration
Vous pouvez
utiliser l'élément
variable pour définir une variable globale, c'est-à-dire dont la portée
s'étend à l'ensemble de la configuration du serveur. Si la
même variable est définie dans un fichier inclus, elle est supplantée par
celle qui figure dans le fichier
server.xml. Par exemple, pour utiliser l'élément
variable,
ajoutez le fragment de code suivant au fichier de configuration :
<variable name="HTTP_default_var" value="8889" />
- Utilisez des variables d'environnement de processus dans la configuration
Les variables d'environnement de processus sont disponibles,
si vous utilisez le préfixe de variable de configuration env., par exemple :
<fileset dir="${env.LIBRARY_DIR}" includes="*.jar"/>
Pour plus d'informations sur ces variables d'environnement, voir
Personnalisation de l'environnement du profil Liberty.
Utilisez des expressions de variable dans la configuration Pour les variables de configuration, vous pouvez utiliser une
syntaxe d'expression de variable de configuration limitée au format
${<operand><operator><operand>}. La
description de la variable est comme suit :
- operande
- Les opérandes peuvent être des littéraux entiers
longs ou le nom d'une
variable contenant une valeur entière longue. Les noms de
variable doivent commencer par un caractère alphabétique et contenir uniquement
les caractères suivants : caractères alphabétiques,
caractères numériques et les caractères "_" et "." .
- operator
- Les opérateurs disponibles sont les suivants :
- + pour l'addition
- - pour la soustraction
- * pour la multiplication
- / pour la division
- Si l'expression ne peut pas être analysée, une valeur non entière
est utilisée, ou bien une erreur arithmétique se produit et le
comportement est indéfini.
Par exemple, si la variable
HTTP_port_base
est définie, une expression de variable peut être utilisée pour
définir plusieurs httpEndpoints :
<httpEndpoint id="defaultHttpEndpoint" httpPort="${HTTP_port_base+0}"/>
<httpEndpoint id="httpEndpoint2" httpPort="${HTTP_port_base+1}"/>
- Passer outre les attributs héritables dans la
configuration
Vous pouvez remplacer les valeurs par défaut des attributs héritables
dans la configuration. Les attributs héritables sont ceux qui sont listés
avec la mention Hérite de sur la
page Eléments de configuration dans le fichier server.xml. Par exemple, l'attribut onError est
l'un des attributs héritables. Vous pouvez définir globalement un nom de variable
pour l'attribut onError en le spécifiant soit dans
le fichier bootstrap.properties, soit dans le fichier server.xml
avec un élément variable. Si le même nom de variable est spécifié dans
les deux fichiers, la valeur utilisée est celle du fichier server.xml. Si l'attribut n'est défini explicitement dans aucun des deux fichiers,
sa valeur par défaut est utilisée. Si une valeur non valide est affectée à l'attribut
héritable, celui-ci prend la valeur globale définie dans
le fichier bootstrap.properties ou server.xml ou
la valeur par défaut si aucune valeur n'est explicitement définie au niveau global.
Les propriétés de journalisation dans le profil Liberty en sont un autre exemple.
Voir Journalisation et trace.