Vue d'ensemble des événements

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

Le Java Service Wrapper a la capacité de notifier un administrateur système par e-mail, ainsi que de réagir à un large éventail d'événements intégrés et définis par l'utilisateur.

Propriétés de configuration des événements

Cette section comprend une liste complète des propriétés qui peuvent être utilisées pour configurer et contrôler la façon dont le Wrapper réagit aux événements.

Propriétés générales des événements :

Propriétés d'e-mail des événements :

Propriétés de commande des événements :

Types d'événements

Le Wrapper est capable d'envoyer des e-mails et/ou d'exécuter des commandes externes en réponse à un certain nombre d'événements. La liste suivante décrit chacun des événements définis :

  • wrapper_start :

    Déclenché lorsque le processus Wrapper démarre pour la première fois. Cet événement peut être utilisé pour effectuer toute initialisation qui doit être faite avant le lancement de la première JVM.

    Dans le cas des e-mails, il peut être utilisé pour indiquer que le système vient d'être redémarré, par exemple.

  • jvm_prelaunch :

    Déclenché chaque fois qu'une nouvelle JVM est sur le point d'être lancée. Cet événement peut être utilisé pour effectuer toute initialisation qui doit être faite avant le lancement de chaque JVM.

  • jvm_start :

    Déclenché immédiatement après le lancement d'une nouvelle JVM, mais avant le démarrage de son application.

  • jvm_started :

    Déclenché une fois que le code Wrapper dans la JVM a notifié le processus Wrapper que la nouvelle application est opérationnelle.

    Notez que, sauf si la Méthode d'intégration 3 (WrapperListener) est utilisée, cet événement peut être déclenché avant que l'application utilisateur ne soit réellement complètement démarrée. Selon l'application utilisateur, la Méthode 1 (WrapperSimpleApp) et la Méthode 2 (WrapperStartStopApp) peuvent également être configurées pour attendre que l'application soit complètement démarrée avant de signaler qu'elle est opérationnelle. Consultez la section « Avancé » de chaque Méthode d'intégration pour plus de détails.

  • jvm_deadlock (Depuis la ver. 3.5.0) :

    Déclenché chaque fois qu'un interblocage de threads est détecté dans la JVM avec la fonctionnalité Vérification des interblocages.

  • jvm_ping_slow :

    Déclenché lorsqu'un ping est déterminé pour la première fois comme étant plus lent que le nombre de secondes spécifié par wrapper.ping.alert.threshold. L'événement sera déclenché avant que le ping n'ait reçu de réponse.

  • jvm_ping_response_slow :

    Déclenché lorsqu'un ping est déterminé comme étant plus lent que le nombre de secondes spécifié par wrapper.ping.alert.threshold. L'événement sera déclenché après que le ping ait reçu une réponse.

  • jvm_ping_timeout :

    Déclenché lorsque le temps entre deux réponses de ping a dépassé le nombre de secondes spécifié par wrapper.ping.timeout.

  • jvm_stop :

    Déclenché chaque fois qu'une JVM est sur le point d'être arrêtée. L'événement sera déclenché si la JVM plante, mais cela se produira après la disparition du processus JVM. Si le système plante ou perd l'alimentation pour une raison quelconque, l'événement ne sera jamais déclenché.

  • jvm_stopped :

    Déclenché après l'arrêt d'une JVM pour une raison quelconque. Cet événement peut être utilisé pour effectuer tout nettoyage. Si le système plante ou perd l'alimentation pour une raison quelconque, l'événement ne sera jamais déclenché.

  • jvm_restart :

    Déclenché lorsque le Wrapper est sur le point de redémarrer une JVM.

  • jvm_failed_invocation :

    Déclenché lorsque la JVM s'est terminée dans un état qui entraîne un redémarrage, mais que le temps total d'exécution de la JVM était inférieur à la propriété wrapper.successful_invocation_time configurée.

  • jvm_max_failed_invocations :

    Déclenché lorsque la JVM s'est terminée dans un état qui entraîne un redémarrage, mais que les invocations échouées (événement jvm_failed_invocation) sont comptabilisées, le nombre total d'invocations échouées consécutives est supérieur à la propriété wrapper.max_failed_invocations configurée.

  • jvm_kill :

    Déclenché lorsque le Wrapper a décidé qu'une JVM qu'il croyait figée doit être tuée. Cela se produit avant que le processus JVM ne soit tué. Cet événement sera toujours précédé de l'événement jvm_stop puis suivi des événements jvm_killed et jvm_stopped. Consultez la propriété wrapper.jvm_kill.delay si un délai est nécessaire lors de l'exécution de commandes pour cet événement.

  • jvm_killed :

    Déclenché lorsque le Wrapper a tué une JVM qu'il croyait figée. Cet événement sera toujours suivi de l'événement jvm_stopped.

  • jvm_unexpected_exit :

    Déclenché lorsque le processus JVM disparaît pour une raison inattendue. Par exemple lorsqu'il plante. Cet événement sera toujours suivi des événements jvm_stop et jvm_stopped.

  • wrapper_stop :

    Déclenché en dernier lorsque le processus Wrapper s'arrête. Cet événement peut être utilisé pour effectuer tout nettoyage qui doit être fait après l'arrêt de la dernière JVM.

    Notez que cet événement ne sera déclenché que si le Wrapper est arrêté normalement. Si le système plante ou perd l'alimentation pour une raison quelconque, l'événement ne sera jamais déclenché.

  • wrapper_pause (Depuis la ver. 3.5.0) :

    Déclenché chaque fois que le Wrapper est mis en pause. Selon la configuration du comportement du Wrapper lorsqu'il est en pause, des événements concernant l'arrêt de la JVM seront également déclenchés.

    Consultez les propriétés wrapper.pausable et wrapper.pausable.stop_jvm pour plus de détails.

  • wrapper_resume (Depuis la ver. 3.5.0) :

    Déclenché chaque fois que le Wrapper est repris. Selon la configuration du comportement du Wrapper lorsqu'il est en pause, des événements concernant le démarrage de la JVM seront également déclenchés.

    Consultez les propriétés wrapper.pausable et wrapper.pausable.stop_jvm pour plus de détails.

  • user_<n> (Depuis la ver. 3.5.0) :

    Événement utilisateur qui est déclenché en réponse à une Action. Le composant « <n> » du nom de l'événement est n'importe quel entier compris entre 1 et 32767.

    Les actions qui peuvent être configurées pour déclencher un événement utilisateur comprennent : wrapper.filter.action.<n>, wrapper.timer.<n>.action, wrapper.check.deadlock.action, et wrapper.event.<event_name>.command.block.action.

E-mails d'événements

NOTE

Cette fonction nécessite l'Édition Professionnelle du Java Service Wrapper.

Le Wrapper est capable d'envoyer des e-mails d'alerte en réponse à certains événements. Les e-mails peuvent être envoyés avec un message personnalisé, ainsi qu'un extrait du fichier journal du Wrapper. Cela permet à un administrateur système de décider s'il est nécessaire ou non de prendre des mesures supplémentaires. Consultez la documentation des propriétés individuelles pour plus de détails sur leur utilisation.

Exemple (envoyer un e-mail en réponse aux redémarrages de la JVM) :
# Common Event Email settings.
#wrapper.event.default.email.debug=TRUE
wrapper.event.default.email.smtp.host=smtp.mycompany.com
wrapper.event.default.email.smtp.port=25
wrapper.event.default.email.subject=[%WRAPPER_HOSTNAME%:%WRAPPER_NAME%:%WRAPPER_EVENT_NAME%] Event Notification
wrapper.event.default.email.sender=myapp-noreply@mycompany.com
wrapper.event.default.email.recipient=myapp-admin@mycompany.com

# Event specific settings.
wrapper.event.jvm_restart.email=TRUE
wrapper.event.jvm_restart.email.body=The JVM was restarted.\n\nPlease check on its status.\n

Les propriétés sont toutes de la forme wrapper.event.<x>.email* où le composant <x> est soit le mot-clé default, soit l'un des Types d'événements définis ci-dessus.

Chaque fois qu'une propriété n'est pas spécifiquement définie pour l'un des noms d'événements, la valeur default wrapper.event.default.email* sera utilisée. Cela est utile pour définir des valeurs qui seront communes à tous les e-mails d'événements.

Commandes d'événements

NOTE

Cette fonction nécessite l'Édition Professionnelle du Java Service Wrapper.

Le Wrapper est capable d'exécuter des commandes externes en réponse à certains événements. Celles-ci peuvent être utiles pour effectuer un nettoyage du système, envoyer des notifications, ou entreprendre des actions qui ne peuvent être gérées que de manière native. Consultez la documentation des propriétés individuelles pour plus de détails sur leur utilisation.

Il est possible d'indiquer au Java Service Wrapper de lancer la commande et de l'oublier, de bloquer jusqu'à ce que la commande soit terminée, ou d'attendre un temps maximum pour que la commande se termine. Si le délai d'attente expire, la commande continuera de s'exécuter.

Le Wrapper ne fournit actuellement pas de moyen de journaliser la sortie des commandes externes.

Exemple (exécuter « mycleanup » avant le lancement de la JVM, sans attente) :
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=parameter1
Exemple (exécuter « mycleanup » avant le lancement de la JVM, attente indéfinie) :
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=parameter1
wrapper.event.jvm_prelaunch.command.block=TRUE
Exemple (exécuter « mycleanup » avant le lancement de la JVM, attente de 5 secondes) :
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=parameter1
wrapper.event.jvm_prelaunch.command.block=TRUE
wrapper.event.jvm_prelaunch.command.block.timeout=5

Les propriétés sont toutes de la forme wrapper.event.<x>.command.* où le composant <x> est l'un des Types d'événements définis ci-dessus.

Chaque fois qu'une propriété n'est pas spécifiquement définie pour l'un des noms d'événements, la valeur default wrapper.event.default.command.* sera utilisée. Cela est utile pour définir des valeurs qui seront communes à toutes les commandes d'événements.