/ / Redémarrer automatiquement un Tomcat sur Jelastic - tomcat, tomcat7, jelastic

Redémarrez automatiquement un Tomcat sur Jelastic - tomcat, tomcat7, jelastic

J'ai une instance de Tomcat 7 dans Dogado Jelasticcloud (la version de la plate-forme Jelastic est 2.5.2). De plus, j'ai un Bamboo, qui déploie chaque jour deux applications sur cette instance Tomcat 7. En raison de problèmes rencontrés dans les applications, des fuites de mémoire se sont produites, qui ont cassé les applications après un certain temps. Je souhaite donc redémarrer le serveur périodiquement pour résoudre ce problème (je sais que ce n'est pas une bonne solution, mais cela suffit pour le moment). J'ai trouvé plusieurs façons de redémarrer Tomcat 7 automatiquement:

  1. Utilisation de l’API Jelastic REST - deux requêtes sont nécessaires: l’authentification et l’action).
  2. Utilisation des tâches cron (fournies par le panneau d’administration de jelastic) - il semble que Jelastic ne voit pas une instance Tomcat récemment démarrée.

J'ai donc deux questions:

  1. Existe-t-il un moyen de simplifier ces deux méthodes (par exemple, une requête d'API à appel unique ou un moyen correct de redémarrer Tomcat à l'aide d'une tâche périodique)?
  2. Existe-t-il d'autres moyens de redémarrer Tomcat automatiquement?

Merci!

Réponses:

2 pour la réponse № 1

Il suffit d'ajouter cette commande à cron / tomcat via le panneau de configuration du tableau de bord

0 * * * * /opt/tomcat/bin/shutdown.sh; /opt/tomcat/bin/startup.sh

Cela fonctionne bien pour tomcat7.


0 pour la réponse № 2

Pour l’option cron, vous devez le faire à partir de l’utilisateur root (c’est pourquoi, lorsque vous le faites à partir de votre utilisateur jelastic via le tableau de bord, cela ne fonctionne pas comme prévu).

Cependant, Dogado devrait pouvoir configurer ce cron pour vous sans aucun problème. Je recommande cela comme votre solution la plus simple dans ce cas.

La difficulté avec l'option de redémarrage de l'API est que vousprobablement nécessaire d’exécuter cela ailleurs (par exemple, pas un script appelé via cron dans votre environnement). Sauf si vous avez déjà un système approprié (un autre environnement ou un serveur ailleurs, par exemple), cette approche n’est probablement pas viable.

Personnellement, je n'aime pas non plus que l'API nécessitevotre nom d'utilisateur / mot de passe Jelastic, vous garantit donc un accès complet à tous vos environnements, même si vous ne souhaitez que l'autorisation d'un seul. Vous pouvez éventuellement contourner cette limitation en créant un collaborateur, en partageant l'environnement avec eux et en traitant cet utilisateur comme "utilisateur de l'API".