Index

wrapper.app.property.<n>

Compatibilité :3.5.57
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Liste de propriétés spécifiques à l'application qui sont envoyées du Wrapper à la JVM via le pipe ou socket backend une fois la connexion établie.

L'application utilisateur sera lancée une fois que toutes les propriétés auront été reçues et définies côté Java. Cela garantit que toutes les propriétés seront disponibles au démarrage de l'application.

L'utilisation des propriétés wrapper.app.property.<n> est plus sécurisée que de définir wrapper.java.additional.<n>, qui les exposent en clair aux outils de listage des processus. Pour cette raison, il est fortement recommandé d'utiliser les propriétés d'application pour les mots de passe ou toute donnée sensible que votre application pourrait utiliser.

Pour protéger les données stockées dans votre fichier de configuration, une bonne pratique consiste à isoler les propriétés wrapper.app.property.<n> contenant des valeurs sensibles dans un « fichier include » distinct et à lui attribuer des permissions de lecture restrictives (p. ex. administrateur ou propriétaire uniquement).

De plus, pour empêcher que les mots de passe ou les données sensibles ne s'affichent en clair dans la sortie du journal du Wrapper, veuillez utiliser la syntaxe %...|mask%.

Composant <n> :

Chaque élément possède un nom de propriété commençant par « wrapper.app.property. » et le composant « <n> » du nom de propriété est un nombre entier incrémenté à partir de « 1 ». Par défaut, la numérotation doit être séquentielle, sans lacune. La propriété wrapper.ignore_sequence_gaps peut éventuellement être définie pour autoriser des lacunes dans la séquence.

Exemple :
wrapper.app.property.1=mypassword=%secret|mask%

AVERTISSEMENT

Contrairement aux propriétés définies via la ligne de commande Java, qui sont disponibles dès le lancement de la JVM, ces propriétés ne sont définies qu'après avoir été reçues via le canal backend créé par le Wrapper. Les propriétés référencées avec wrapper.app.property.<n> sont donc destinées à être utilisées uniquement dans le contexte de votre application Java.

Plusieurs classes système sont chargées avant la création du canal backend. Si une propriété système doit être utilisée par l'une de ces classes, elle doit être référencée dans wrapper.java.additional.<n> afin d'être transmise comme arguments de ligne de commande.

wrapper.app.property.<n>.quotable

Compatibilité :3.6.0
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Si la valeur d'une propriété doit inclure des espaces de fin, vous pouvez les conserver en entourant la valeur de guillemets. Ces guillemets seront supprimés si vous définissez la propriété correspondante wrapper.app.property.<n>.quotable à TRUE.

La valeur par défaut de cette propriété est « FALSE ».

Lorsqu'une propriété « quotable » est définie à TRUE, les guillemets réellement à conserver dans la valeur correspondante doivent alors être échappés avec un caractère « \ », et les barres obliques inverses doivent être doublées (« \\ »). Aucun autre caractère ne peut être échappé.

Les remplacements suivants seront effectués lors de la suppression des guillemets.

  • '\\' deviendra '\',
  • '\"' deviendra '"'
  • '"' deviendra ''
Exemple :
wrapper.app.property.1=prop1="value with trailing spaces   "
wrapper.app.property.1.quotable=TRUE

wrapper.app.property.<n>.java_version.min

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

Cette propriété peut être utilisée pour ajouter la propriété d'index « n » uniquement si la version de Java est supérieure ou égale à la valeur spécifiée.

La valeur par défaut est « 1.4 », qui correspond à la plus ancienne version de JVM prise en charge par le Wrapper. Toute valeur inférieure est invalide et entraînera l'arrêt du Wrapper.

La valeur peut être au format « 1.major[.minor[_revision]] » ou « major[.minor[.revision]] », quelle que soit la version de Java. Cela permet de prendre en charge les deux schémas de numérotation renvoyés par « java -version » : avant Java 9, le premier format était utilisé, tandis que Java 9 et versions ultérieures utilisent le second format.

Les crochets indiquent que les composants mineur et de révision sont facultatifs. Laisser l'un ou les deux non spécifiés signifie que ces espaces réservés accepteront n'importe quel nombre.

L'option d'index « n » est ignorée pour toute version de Java inférieure à 1.7 :
wrapper.app.property.<n>.java_version.min=1.7
L'option d'index « n » est ignorée pour toute version de Java inférieure à 8.0.40 :
wrapper.app.property.<n>.java_version.min=8.0.40

AVERTISSEMENT

wrapper.app.property.<n>.java_version.max

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

Cette propriété peut être utilisée pour ajouter la propriété d'index « n » uniquement si la version de Java est inférieure ou égale à la valeur spécifiée.

La valeur par défaut est « UNLIMITED ».

La valeur peut être au format « 1.major[.minor[_revision]] » ou « major[.minor[.revision]] », quelle que soit la version de Java. Cela permet de prendre en charge les deux schémas de numérotation renvoyés par « java -version » : avant Java 9, le premier format était utilisé, tandis que Java 9 et versions ultérieures utilisent le second format.

Les crochets indiquent que les composants mineur et de révision sont facultatifs. Laisser l'un ou les deux non spécifiés signifie que ces espaces réservés accepteront n'importe quel nombre.

L'option d'index « n » est ignorée pour toute version de Java supérieure à 9.0.1 :
wrapper.app.property.<n>.java_version.max=9.0.1
L'option d'index « n » est ignorée pour toute version de Java supérieure à 9 :
wrapper.app.property.<n>.java_version.max=9

AVERTISSEMENT

wrapper.app.property_file

Compatibilité :3.5.57
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Cette propriété permet de spécifier un fichier pouvant contenir une ou plusieurs propriétés à transmettre à l'application Java. Cela peut s'avérer très utile lorsque la liste des propriétés doit être générée dynamiquement ou via un installateur.

Toute propriété définie dans ce fichier apparaîtra après celles définies à l'aide des propriétés standard wrapper.app.property.<n>.

À partir de la version 3.5.23 du Wrapper, toute référence à une variable d'environnement dans le fichier sera développée.


Format du fichier :

Le format du fichier est simple.

  • Il doit commencer par une ligne de directive d'encodage tout comme le fichier de configuration du Wrapper. Cela est nécessaire pour indiquer au Wrapper quel encodage utiliser lors de la lecture du fichier. Si cette ligne est absente, le Wrapper tentera de poursuivre après avoir consigné un avertissement. L'encodage utilisé dans le fichier peut être différent de celui utilisé dans les autres fichiers de configuration.
  • Le caractère « # » est interprété comme un caractère de commentaire. Pour inclure un caractère « # » dans une valeur de propriété, la valeur doit soit être entre guillemets ("#"), soit être échappée par un second caractère « # ».
  • Par défaut, une seule propriété peut être écrite par ligne. Ce comportement peut être modifié en définissant la propriété wrapper.app.property_file.quotable à TRUE. Dans ce mode, les arguments sont délimités par tout espace non entre guillemets. Cela permet de lister plusieurs paramètres sur la même ligne. Les valeurs contenant des espaces doivent être entourées de guillemets ; ces guillemets seront supprimés lors de l'analyse du fichier.

Exemple de fichier de propriétés (avec .quotable=FALSE) :
@encoding=UTF-8
# Example properties: One property per line
prop1=Value1
prop2=Value2 with space
prop3=Value3 with space
prop4=Value4

Exemple de fichier de propriétés (avec .quotable=TRUE) :
@encoding=UTF-8
# Example properties: Multiple properties in one line
prop1=Value1 prop2="Value2 with space" "prop3=Value3 with space"

# More arguments
prop4=Value4

NOTE

Les versions 3.5.57 à 3.5.60 n'ont pas le mode « quotable ». Le fichier ne peut contenir qu'une seule propriété par ligne et les guillemets ne sont pas supprimés.

wrapper.app.property_file.required

Compatibilité :3.5.57
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Indique si le fichier de propriétés est requis ou non. S'il est requis et introuvable, le Wrapper s'arrêtera sans démarrer la JVM. S'il n'est pas requis, le fichier sera ignoré s'il est introuvable.

La valeur par défaut est TRUE.

Exemple :
wrapper.app.property_file.required=FALSE

wrapper.app.property_file.quotable

Compatibilité :3.6.0
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Lorsqu'elle est définie à TRUE, les guillemets contenus dans le fichier de propriétés seront supprimés. Cela vous permet d'utiliser les guillemets comme délimiteurs pour les valeurs et ainsi de lister plusieurs paramètres sur une seule ligne.

De plus, les guillemets peuvent être utilisés comme délimiteurs pour conserver les espaces en début ou en fin de valeur des propriétés.

La valeur par défaut de cette propriété est « FALSE ».

NOTE

Les versions 3.5.57 à 3.5.60 n'ont pas le mode « quotable ». Le fichier ne peut contenir qu'une seule propriété par ligne et les guillemets ne sont pas supprimés.

Lorsqu'une propriété « quotable » est définie à TRUE, les guillemets réellement à conserver dans la valeur correspondante doivent alors être échappés avec un caractère « \ », et les barres obliques inverses doivent être doublées (« \\ »). Aucun autre caractère ne peut être échappé.

Les remplacements suivants seront effectués lors de la suppression des guillemets.

  • '\\' deviendra '\',
  • '\"' deviendra '"'
  • '"' deviendra ''
Exemple :
wrapper.app.property_file.quotable=TRUE
Exemple de fichier de paramètres UTF-8 :
@encoding=UTF-8
prop1=Value1 prop2="Test Value with spaces."

Référence : Paramètres