2008-09-19 15 views
3

J'utilise start.jar et stop.jar pour arrêter et démarrer mon instance de jetée. Je redémarre en appelant stop.jar, puis start.jar. Le problème est, si je ne dors pas assez longtemps entre stop.jar et start.jar, je commence à obtenir ces ClassNotFoundExceptions aléatoires et l'application ne fonctionne pas correctement.Meilleure façon de redémarrer une instance de jetée

Dormir pendant une période plus longue entre l'arrêt et le démarrage est mon option actuelle.

J'ai aussi entendu quelqu'un dire que je devrais avoir quelque chose qui gère mes discussions de manière à ce que je mette fin à celles-ci avant la fin de la jetée. Est-ce correct? La question que j'ai à ce sujet est que stop.jar revient immédiatement, donc ça ne semble pas m'aider, à moins qu'il y ait quelque chose qui me manque. Une autre option pourrait être d'interroger le fichier journal, mais c'est plutôt moche.

Quelle est la meilleure façon de redémarrer la jetée? Gilbert: La tâche Ant n'est certainement pas une mauvaise façon de le faire. Cependant, il dort pendant un certain temps, ce qui est exactement ce que j'essaie d'éviter.

Répondre

0

Avez-vous essayé JFGI? Configurer la tâche Ant qui pourrait faire le travail pour vous?

Cet article explique comment configurer des cibles qui peuvent démarrer et arrêter la jetée pour vous. Vous pouvez facilement bricoler une autre cible appelée 'jetty-restart' qui dépend de 'jetty-stop' puis appelle 'jetty-start'.

http://ptrthomas.wordpress.com/2006/10/10/how-to-start-and-stop-jetty-from-ant/

1

Pouvez-vous écrire un script shell qui fait quelque chose comme ça après avoir appelé l'arrêt et le démarrage avant d'appeler?

 

LISTEN_PORT = `netstat -vatn | grep LISTEN| grep 8080 | wc -l ` 
while [$LISTEN_PORT -ne 0] ; do 
    sleep 1 
    LISTEN_PORT = `netstat -vatn | grep LISTEN| grep 8080 | wc -l ` 
done