Fichiers de configuration en cascade

À partir de la version 3.0.0 du Wrapper, il est possible de spécifier des « fichiers d'inclusion » dans un fichier de configuration, à la manière des feuilles de style en cascade. Cela est utile lorsqu'il y a un besoin de remplacer les valeurs par défaut sans modifier le fichier de configuration principal par défaut « wrapper.conf ».

Syntaxe :

Les fichiers d'inclusion sont spécifiés en plaçant une ligne dans le fichier de configuration avec la syntaxe suivante :

@include ../conf/wrapper2.conf

Profondeur d'imbrication :

Les fichiers d'inclusion peuvent être imbriqués jusqu'à 10 niveaux de profondeur en cascade.

Priorité des propriétés :

L'endroit où vous placez la définition du fichier d'inclusion dans un fichier est important. S'il existe des propriétés de même nom dans les fichiers de configuration, vous devez prêter attention à l'ordre.

La ligne de définition « @include » doit être placée tout en bas du fichier de configuration. Par exemple, le fichier « wrapper.conf » inclut « File2.conf » et le fichier « File2.conf » inclut « File3.conf ». De plus, la propriété « PropertyX=valueX » est définie dans CHACUN des trois fichiers. Dans ce cas, la valeur de propriété « PropertyX=value3 » de « File3.conf » sera définie après le traitement de tous les fichiers.

Dans un autre exemple, les propriétés définies après le fichier inclus remplaceront les paramètres de propriétés contenus dans les fichiers inclus.

Cette règle s'applique également à l'ensemble du contenu des fichiers d'inclusion.

Chemin :

Si des chemins relatifs vers les fichiers d'inclusion sont spécifiés, veuillez noter que tous les chemins doivent être relatifs à l'emplacement du répertoire de travail du Wrapper. Par défaut, le répertoire de travail est l'emplacement du fichier wrapper.exe sous Windows, ou du script utilisé pour lancer le Wrapper sous UNIX. Le répertoire de travail peut être modifié à l'aide de la propriété wrapper.working.dir, mais cela ne prend effet qu'après le chargement complet du fichier de configuration. Cela signifie que les références relatives aux fichiers d'inclusion seront toujours relatives au répertoire de travail d'origine du Wrapper.


Utilisation avec les variables d'environnement :

Lors de l'utilisation de fichiers d'inclusion, il est également possible de référencer des variables d'environnement. Vous pouvez soit référencer les variables d'environnement déjà définies par le Wrapper, soit définir vos propres variables d'environnement dans le fichier de configuration selon vos besoins.

Les variables d'environnement prédéfinies se trouvent sur la page Variables d'environnement.

Lorsque le chemin vers le fichier d'inclusion contenant la variable correspond à un fichier existant sur votre machine, cela vous permettra de spécifier dans ce fichier un ensemble de propriétés de configuration que vous souhaitez appliquer uniquement pour un environnement spécifique.

Par exemple, si vous souhaitez inclure des configurations spécifiques à une plateforme, vous pouvez référencer la directive @include suivante dans votre fichier de configuration principal :

wrapper.conf
@include ../conf/wrapper-%WRAPPER_OS%.conf

Puis créez un fichier pour chaque plateforme nécessitant une configuration spécifique.

wrapper-windows.conf
wrapper.java.command=
wrapper.registry.java_home=HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany\MyApplication\JavaHome
wrapper-linux.conf
wrapper.java.command=%JAVA_HOME%/bin/java

Exiger un fichier d'inclusion :

Si le fichier spécifié ne peut pas être trouvé pour une raison quelconque, il est simplement ignoré. Cela facilite la spécification d'une série de fichiers de configuration en cascade facultatifs que les utilisateurs peuvent ou non avoir déjà créés.

Dans certains cas, un fichier d'inclusion est requis pour le bon fonctionnement d'une application. C'est particulièrement le cas pour les fichiers sécurisés contenant des mots de passe ou des données sensibles. À partir de la version 3.5.5 du Wrapper, il est possible de spécifier une inclusion obligatoire, ce qui provoquera une erreur et empêchera le Wrapper de démarrer si elle est manquante.

Exemple :
@include.required ../conf/wrapper-settings.conf

À partir de la version 3.6.0 du Wrapper, il est possible de spécifier si les fichiers d'inclusion sont facultatifs ou obligatoires par défaut. Ce mode d'inclusion peut être défini avec la directive @include.default_mode et peut être modifié n'importe où dans le fichier de configuration actuel ou dans ses fichiers inclus.

Exemple :
@include.default_mode=required

# These are required includes
@include ../conf/wrapper-settings1.conf
@include ../conf/wrapper-settings2.conf
@include ../conf/wrapper-settings3.conf

@include.default_mode=optional

# These are optional includes
@include ../conf/wrapper-additional-settings1.conf
@include ../conf/wrapper-additional-settings2.conf
@include ../conf/wrapper-additional-settings3.conf

@include.optional permet de spécifier un fichier d'inclusion facultatif lorsque le mode d'inclusion par défaut est « required ».

Exemple :
@include.default_mode=required

# This is a required include
@include ../conf/wrapper-settings.conf

# This is a optional include
@include.optional ../conf/wrapper-additional-settings.conf

Pour le débogage

Activer les messages de débogage :

Par défaut, les fichiers d'inclusion sont conçus pour être facultatifs, de sorte que le Wrapper ignorera silencieusement le fichier d'inclusion s'il ne peut pas être trouvé. Cela peut rendre le débogage des problèmes impliquant des fichiers d'inclusion frustrant. Pour y remédier, il est possible d'activer les messages de débogage concernant les fichiers d'inclusion en utilisant la déclaration suivante « @include.debug » avant toute référence de fichier @include. Sachez que cette déclaration de débogage devra être effectuée avant que vos propriétés de journalisation configurées n'aient été traitées dans le fichier de configuration « wrapper.conf ».

@include.debug

Sortie :

La sortie s'affichera dans la console ainsi que dans le fichier wrapper.log par défaut, qui se trouvera dans le même répertoire que le binaire du Wrapper. Si le Wrapper est exécuté en tant que service Windows, le fichier wrapper.log par défaut apparaîtra dans le répertoire System32 de Windows.

Mise en cascade d'un fichier de licence :

Un fichier de licence nouvellement créé, contenant les propriétés de clé de licence, peut être placé dans le même répertoire que le fichier de configuration « wrapper.conf ». Voir les détails à Fichier de licence dans un fichier de configuration en cascade.