2012-03-22 2 views
2

У меня есть безумная просьба о перезапуске сервера tomcat через мой webapp. Я искал почти 2 дня об этом, и все, что я нашел, выполняет внешний командный файл или вызывает другую программу для этого. Есть ли оптимальное решение для этого с помощью java-кода? Я что-то упускаю?Перезагрузка tomcat через webapp

+0

это помогает: http://stackoverflow.com/questions/4109493/tomcat-restart-via-jmx? – fasseg

ответ

3

Почему бы просто не создать сценарий, вызывающий его через Runtime.exec? Кажется вполне оптимальным для меня. Поскольку перезапуск tomcat завершит работу Java VM, на самом деле нет смысла иметь его как вызов API.

+0

yup. Возможно, это единственная надежда :( –

+0

Если вам нужно только перезагрузить веб-приложение (и вам не обязательно нужно, чтобы Tomcat перезагрузился), вы также можете обновить дату последнего изменения на web.xml. запускать перезагрузку веб-приложения. Вы можете сделать это через File # setLastModified. –

+0

Мне нужно перезагрузить сервер, так как одна из функций WebApp связана с добавлением SSL-сертификата на сервер –

2

Вы можете подключиться к порту выключения tomcat и выполнить команду выключения.
См http://tomcat.apache.org/tomcat-7.0-doc/config/server.html

+1

Мне нужно перезагрузить сервер. Невозможно запустить сервер снова, если вы его отключите –

0

Лучшее решение, которое мы обнаружили, заключается в использовании Java Service Wrapper

Это обеспечивает многочисленные преимущества в управлении lifecyle вашего сервера - включая то, что вы пытаетесь достичь - и, в частности, возможность легко зарегистрировать как служба Windows.

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