wrapper.startup.timeout

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 à 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 à autoriser entre le moment où le Wrapper lance le processus JVM et le moment où le côté JVM du Wrapper répond que l'application a démarré. Définir la valeur de cette propriété à « 0 » (zéro) signifie qu'il n'y a jamais de délai d'attente.

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

Exemple :
wrapper.startup.timeout=30

Problèmes ?

Si vous rencontrez des problèmes de délai d'attente lors du démarrage de votre application, la cause la plus fréquente est une mauvaise configuration. Veuillez vérifier que le WrapperManager est bien démarré. Vous devriez voir la sortie suivante dans la console lorsque vous lancez le Wrapper.

wrapper  | --> Wrapper Started as Console
wrapper  | Java Service Wrapper Professional Edition 64-bit 3.x.x
wrapper  |   Copyright (C) 1999-2010 Tanuki Software, Ltd.  All Rights Reserved.
wrapper  |     http://wrapper.tanukisoftware.org
wrapper  |   Licensed to Acme, Inc.
wrapper  |
wrapper  | Launching a JVM...
jvm 1    | WrapperManager: Initializing...

Si vous ne voyez pas s'afficher la version du Wrapper, alors le WrapperManager n'est pas lancé. Veuillez vous assurer d'avoir lu la section Résumé des méthodes d'intégration pour vérifier la configuration correcte. Si la configuration semble correcte, essayez d'activer la sortie de journal de niveau DEBUG pour tenter de cerner le problème.

Si la version du Wrapper s'affiche, mais que le Wrapper expire toujours au démarrage, cela est très probablement dû à l'une des deux raisons suivantes.

La première possibilité est que l'appel de la méthode start ne retourne pas. Cela ne devrait pas poser de problème si vous utilisez les classes WrapperSimpleApp, WrapperStartStopApp ou WrapperJarApp pour lancer votre application. Si vous implémentez cependant WrapperListener, veuillez vérifier que la méthode start retourne bien une fois terminée. Vous devriez pouvoir le constater avec la sortie DEBUG activée.

L'autre possibilité est que la méthode de démarrage prenne simplement un certain temps à se terminer. Dans ce cas, il peut être nécessaire d'augmenter le délai d'attente de démarrage par défaut. Essayez de le définir à « 300 secondes » (5 minutes) et voyez si le problème disparaît.

Il est préférable de choisir une valeur suffisamment longue pour permettre à l'application de démarrer de manière fiable, mais suffisamment courte pour que le Wrapper réagisse aussi rapidement que possible en cas de blocage réel de la JVM.

WrapperManager.signalStarting(n) :

Si la procédure de démarrage prend parfois beaucoup de temps, une alternative à la définition d'un long délai d'attente consiste à appeler périodiquement la méthode WrapperManager.signalStarting(n). Cette méthode informe le Wrapper que la JVM est en vie et que le démarrage de l'application se déroule bien. Le rapport sera répété autant de fois que nécessaire. Par conséquent, ce temps supplémentaire est requis, et le démarrage peut prendre beaucoup plus de temps.

AVERTISSEMENT

Bien que cette possibilité existe, soyez conscient que définir la valeur de cette propriété à « 0 » (zéro) (= désactiver le délai d'attente) ou à une valeur élevée signifie que la capacité du Wrapper à détecter un blocage de la JVM pendant la phase de démarrage sera désactivée.

Si la classe principale configurée avec la propriété wrapper.java.mainclass n'initialise pas correctement la classe WrapperManager du Wrapper, alors le démarrage échouera avec le message suivant même si l'application semble avoir été démarrée :

------------------------------------------------------------------------
Advice:
The Wrapper consists of a native component as well as a set of classes
which run within the JVM that it launches.  The Java component of the
Wrapper must be initialized promptly after the JVM is launched or the
Wrapper will timeout, as just happened.  Most likely the main class
specified in the Wrapper configuration file is not correctly initializing
the Wrapper classes:
    com.myapp.Main
While it is possible to do so manually, the Wrapper ships with helper
classes to make this initialization processes automatic.
Please review the integration section of the Wrapper's documentation
for the various methods which can be employed to launch an application
within the Wrapper:
    http://wrapper.tanukisoftware.org/doc/english/integrate.html
------------------------------------------------------------------------

Comme l'indique le message, il s'agit d'un problème de configuration qui peut être résolu en suivant les instructions de l'une des méthodes d'intégration documentées.

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 : Redémarrage, Démarrage