wrapper.max_failed_invocations

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

AVERTISSEMENT

NE MODIFIEZ AUCUN de ces paramètres à moins d'avoir lu la description de cette propriété. Des paramètres incorrects peuvent empêcher le Wrapper de fonctionner comme prévu.

Nombre maximum de fois que le Wrapper tentera de redémarrer la JVM si chaque invocation tentée se termine de manière anormale ou est redémarrée peu après avoir été lancée. Doit être au moins égal à 1. La valeur par défaut est « 5 invocations ».

Exemple :
wrapper.max_failed_invocations=5

Si la configuration d'une application contient des erreurs, la JVM pourrait, par exemple, se terminer avec une ClassNotFoundException. Cela sera interprété comme une sortie anormale de la JVM, entraînant un redémarrage de la JVM. Évidemment, cela mènerait à une boucle infinie de redémarrages de la JVM. Pour résoudre ce problème de boucle, cette propriété définit le nombre maximum de fois que la JVM sera redémarrée.

Si la JVM a fonctionné pendant une période plus longue que la valeur définie dans la propriété wrapper.successful_invocation_time, alors le compteur de redémarrages sera réinitialisé à « 0 » (zéro). Ainsi, ce compteur s'applique uniquement aux invocations de la JVM qui échouent au démarrage.

En général, cette propriété devrait être définie sur une durée plus longue que la période définie avec la propriété wrapper.startup.timeout car elle est conçue pour compter les échecs au démarrage ou peu après.

Dans la plupart des cas, une valeur de 1 serait acceptable. Mais il existe des cas où certaines ressources peuvent ne pas être immédiatement disponibles. Par exemple, sur les systèmes Solaris, un socket serveur peut rester lié pendant jusqu'à 2 minutes après la fin du processus qui l'avait précédemment lié. Cela peut conduire à des cas où un serveur démarre normalement. Puis, plus tard, lorsque la JVM est redémarrée pour une autre raison, une BindException se produit lorsque la nouvelle invocation de la JVM tente de démarrer. Définir la valeur à 5 rend moins probable que la JVM ne puisse pas redémarrer avec succès après quelques échecs.

Les demandes de redémarrage provenant de la JVM, utilisant la méthode WrapperManager.restart(), ainsi que les redémarrages déclenchés par un filtre, sont traités comme n'importe quel autre redémarrage. Si la demande a lieu peu après le lancement de la JVM, le compteur de redémarrages sera incrémenté.

Référence : Redémarrage, Démarrage