wrapper.jvm_exit.timeout

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 de secondes à accorder entre le moment où la JVM signale qu'elle est arrêtée et le moment où le processus JVM se termine réellement. Définir la valeur de cette propriété à « 0 » (zéro) signifie ne jamais appliquer de délai d'expiration.

La valeur par défaut est « 15 secondes ».

Exemple :
wrapper.jvm_exit.timeout=15

En fonctionnement normal, la partie Java du Wrapper exécute System.exit lorsqu'elle a terminé son cycle d'arrêt de la JVM et est prête à quitter. Lorsque ce délai d'expiration est déclenché, un message similaire au suivant est journalisé.

wrapper  | Shutdown failed: Timed out waiting for the JVM to terminate.
wrapper  | JVM did not exit on request, terminated

Si l'application a enregistré son propre Shutdown Hook qui prend un certain temps à se terminer, vous pourriez rencontrer des délais d'expiration en attendant que le processus JVM se termine. Pour éviter ce problème, il peut être nécessaire d'augmenter le délai d'expiration afin de laisser au Shutdown Hook de l'application le temps de s'exécuter jusqu'au bout. Sachez qu'en règle générale, les Shutdown Hooks doivent toujours se terminer presque instantanément.

Si votre application rencontre des problèmes de délai d'expiration lors de l'arrêt, il peut être utile de faire tenter au Wrapper une demande de vidage des threads avant de tuer la JVM. Cela permettra généralement d'identifier clairement ce qui empêchait la JVM de s'arrêter. Veuillez consulter la propriété wrapper.request_thread_dump_on_failed_jvm_exit pour plus d'informations.

AVERTISSEMENT

Bien que cette possibilité existe, sachez que définir la valeur de cette propriété à « 0 » (zéro) (= désactiver le délai d'expiration) ou à une valeur trop élevée signifie que la capacité du Wrapper à détecter un blocage de la JVM lorsque le processus JVM se termine sera désactivée.

AVERTISSEMENT

Lorsque la propriété wrapper.java.detect_debug_jvm est définie à « TRUE » et que la détection du débogueur fonctionne, cette propriété « timeout » sera ignorée.

Référence : Délai d'attente

Référence : Arrêt

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.