web-dev-qa-db-fra.com

vérifier si l'application de démarrage de printemps est en cours d'exécution ou non

J'ai créé un projet de démarrage de printemps et l'ai déployé sur une machine virtuelle. J'ai ajouté une commande dans local.rc qui démarre l'application de démarrage printanier au redémarrage. Je veux vérifier si la commande a été exécutée et que l'application est en cours d'exécution. Comment je fais ça?

2
Rohan RM

Il y a deux façons

  1. Au niveau du système - vous pouvez exécuter votre projet en tant que service, documenté dans la Documentation officielle - Déploiements . Ensuite, vous pouvez interroger le statut de l'application service myapp status.

  2. Au niveau de l'application, incluez Spring Boot Actuator dans votre application et utilisez les points de terminaison de l'actionneur tels que /actuator/health selon Documentation officielle - Points de terminaison prêts à la production . Ces points de terminaison peuvent être exposés via HTTP ou JMX .

Remarque: avant le démarrage à ressort 2.0, le point final de l'actionneur est /health.

3
Michal

S'il s'agit d'un projet Web, il est logique d'inclure Spring-Boot-Actator (il suffit d'ajouter une dépendance dans maven et de démarrer le microservice).

Dans ce cas, il exposera automatiquement le point de terminaison suivant (par exemple, il peut être configuré de manière flexible):

http://<Host>:<PORT>/health

Envoyez simplement une requête HTTP GET, et si vous obtenez 200, elle est opérationnelle.

Si utiliser un actionneur n’est pas une option (bien que cela doive vraiment être traité comme un premier pari), vous pouvez simplement telnet à http://<Host>:<PORT>

Le rapport entre cela et le fait que PORT est exposé et prêt à "écouter" les connexions externes uniquement après le démarrage effectif du contexte de l'application.

0
Mark Bramnik