2008-09-19 4 views
3

Я использую start.jar и stop.jar, чтобы остановить и запустить экземпляр причала. Я перезапускаю, вызывая stop.jar, затем start.jar. Проблема в том, что если я не спал достаточно долго между stop.jar и start.jar, я начинаю получать эти случайные ClassNotFoundExceptions, и приложение работает неправильно.Лучший способ перезапуска экземпляра причала

Сон в течение более длительного периода времени между остановкой и запуском является моим текущим вариантом.

Я также слышал от кого-то, что у меня должно быть что-то, что управляет моими нитями, чтобы я закончил их до причала. Это правильно? Вопрос, который у меня есть об этом, заключается в том, что stop.jar немедленно возвращается, поэтому мне это не помогает, если нет чего-то, чего я не вижу. Другим вариантом может быть опрос файла журнала, но это довольно уродливо.

Каков наилучший способ перезапуска причала?

Gilbert: Задача Ant определенно не является плохим способом сделать это. Тем не менее, он спит на определенное количество времени, и именно этого я и стараюсь избежать.

ответ

0

Вы попробовали JFGI? Настройка задачи Ant, которая могла бы работать для вас?

В этом блоге подробно описывается, как настроить цели, которые могут начать и остановить причал для вас. Вы можете легко согнуть еще одну цель, называемую «перезапуск причала», которая зависит от «пристанища», а затем вызывает «причал».

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

1

Вы можете написать скрипт, который делает что-то вроде этого после вызова выключения и перед вызовом стартап?

 

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 

 Смежные вопросы

  • Нет связанных вопросов^_^