wrapper.event.<event_name>.command.argv.<n>

Compatibilité :3.3.0
Éditions :Édition ProfessionnelleÉdition Standard (non prise en charge)Édition Community (non prise en charge)
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Cette propriété est utilisée pour spécifier les arguments d'une commande exécutée en réponse à un événement spécifique.

Comme plusieurs des propriétés de commande d'événement, elle peut être définie :

  • Globalement pour tous les événements : propriété wrapper.event.default.command.argv.<n>, ou
  • Pour un événement spécifique : propriété wrapper.event.<event_name>.command.argv.<n>.

Le composant « <event_name> » du nom de la propriété peut être soit le mot-clé « default », soit l'un des types d'événements. Le composant « <n> » du nom de la propriété est un nombre entier commençant à « 1 ». Par défaut, la numérotation doit être séquentielle, sans lacunes. La propriété wrapper.ignore_sequence_gaps peut éventuellement être définie pour autoriser des lacunes dans la séquence.

NOTE

L'utilisation du mot-clé « default » a été ajoutée dans la version 3.5.5 du Wrapper.


event.default.command :

Il n'est pas possible de spécifier des valeurs default pour les éléments individuels d'une commande. Le Wrapper recherchera d'abord une propriété wrapper.event.<event_name>.command.argv.1. Si elle est trouvée, il ne recherchera alors que les éléments de commande contenant le <event_name>. Si elle n'est pas trouvée, le Wrapper recherchera la propriété wrapper.event.default.command.argv.1. S'il la trouve, il recherchera ensuite le reste de la commande en utilisant les propriétés d'événement default.

Notez que la définition d'une « commande d'événement default » entraînera l'exécution de la commande pour chaque événement du Wrapper, y compris les événements définis par l'utilisateur.

Exemple :
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=/tmp/myapp-tmp

Veuillez consulter la documentation sur les commandes d'événement pour plus d'exemples et une explication de la façon dont les différentes propriétés d'événement peuvent être utilisées ensemble.


Variables du gestionnaire d'événements :

Lorsque le Wrapper génère la ligne de commande pour exécuter le processus enfant, les variables du gestionnaire d'événements seront remplaçées dans la valeur.

Exemple :
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=/tmp/myapp-tmp-%WRAPPER_EVENT_JVM_PID%

Problèmes ?

Lorsque des problèmes sont rencontrés lors de la configuration d'une commande d'événement, il peut être très utile d'activer le débogage pour aider à déterminer exactement ce qui se passe.

Exemple :
wrapper.event.default.command.loglevel=INFO

Guillemets

Version 3.6.0 et ultérieures

À partir de la version 3.6.0, la gestion des caractères spéciaux a changé afin d'assurer la cohérence sur toutes les plates-formes. Dans la plupart des cas, vous pouvez écrire la valeur du paramètre exactement comme vous souhaitez qu'elle soit reçue par l'application Java.

Une exception concerne les espaces en début ou en fin de valeur, qui sont normalement supprimés des valeurs de propriété. Pour conserver ces espaces, il est nécessaire d'entourer la valeur de guillemets. Ces guillemets seront retirés si la propriété « quotable » correspondante est définie à TRUE. Pour conserver les guillemets réels dans la valeur, échappez-les avec un caractère '\'. Les barres obliques inverses doivent également être doublées ('\\'). Aucun autre caractère n'est autorisé à être échappé.

Lors de la suppression des guillemets, seuls les changements suivants s'appliqueront :

  • '\\' deviendra '\',
  • '\"' deviendra '"'
  • '"' deviendra ''
Exemple :
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2="Argument with trailing spaces  "
wrapper.event.jvm_prelaunch.command.argv.2.quotable=TRUE

Avant la version 3.6.0

Dans les versions antérieures du Wrapper, la gestion des guillemets varie selon les plates-formes. Sous Windows, le processus Java est créé à l'aide d'une ligne de commande où les arguments contenant des espaces doivent être mis entre guillemets. Les guillemets sont automatiquement retirés de la ligne de commande lorsque le processus est lancé. Sous Linux, en revanche, un tableau est utilisé et les arguments sont transmis directement.

Pour simuler le comportement de Windows et utiliser la même configuration sur toutes les plates-formes, il est possible de marquer certains paramètres avec un indicateur de suppression des guillemets (propriété stripquotes = TRUE). Cet indicateur n'est utilisé que sous Unix et spécifie que les guillemets doivent être retirés avant de transmettre le ou les paramètres à la JVM.

Lors de la suppression des guillemets, tous les autres caractères, à l'exception des suivants, resteront inchangés.

  • '\\' deviendra '\',
  • '\"' deviendra '"'
  • '"' deviendra ''

Référence : Commandes d'événements

Le Java Service Wrapper fournit un ensemble complet de propriétés de configuration qui vous permettent d'adapter le Wrapper à vos besoins exacts. Veuillez consulter la documentation des propriétés individuelles pour découvrir toutes les possibilités au-delà des exemples présentés ci-dessus.