wrapper.disable_shutdown_hook

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

AVERTISSEMENT

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

Désactive la détection des appels à System.exit(). Si elle est désactivée, les appels à System.exit() seront traités comme si la JVM s'était plantée et le service sera redémarré.

Le Wrapper enregistre un Shutdown Hook par défaut. Si une application appelle System.exit() plutôt que d'appeler WrapperManager.stop() pour arrêter le service, le Wrapper arrêtera correctement le serveur.

Vous pouvez souhaiter désactiver le Shutdown Hook pour plusieurs raisons.

Si une application contient du code qui échoue parfois et appelle System.exit(), cette propriété peut être utile pour s'assurer que le serveur redémarre. Dans la plupart des cas, cependant, la propriété wrapper.on_exit.<n> est plus adaptée pour résoudre ce problème.

Exemple :
wrapper.disable_shutdown_hook=TRUE

AVERTISSEMENT

Lorsque le Wrapper détecte que System.exit() a été appelé, il appellera la méthode stop() de votre application si celle-ci implémente l'interface WrapperListener. Vous devez veiller à ce que votre application n'appelle pas à nouveau System.exit() ni la méthode dispose() d'un cadre ou d'une fenêtre AWT. L'une ou l'autre de ces actions entraînera un interblocage (deadlock) si elle est appelée depuis un thread de Shutdown Hook en raison de la façon dont Java a implémenté ces méthodes. Si l'un de ces cas ne peut pas être évité, le Shutdown Hook doit être désactivé.

Si vous maîtrisez les appels aux méthodes System.exit() ou dispose(), vous pouvez utiliser la méthode WrapperManager.hasShutdownHookBeenTriggered() pour éviter le problème d'interblocage.

Pour plus d'informations sur le bogue d'interblocage AWT, consultez la description complète du bogue n°4712342 sur le site d'Oracle.

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.