Сценарий:Stop Apache Tomcat, когда веб-приложение перестает
Apache Tomcat 6.0 запускается как служба на Windows Server 2008 R2 с помощью оболочки (org.tanukisoftware.wrapper.WrapperStartStop
), который использует org.apache.catalina.startup.Bootstrap
. В ходе запуска Tomcat также запускается одно веб-приложение. Это веб-приложение необходимо подключиться к удаленной базе данных и проверить соединение. Он повторяет попытку подключения пару раз, если база данных недоступна, а затем отключается после попытки x.
Проблема:
Мне нужно, чтобы остановить Apache Tomcat после выхода WebAPP, когда соединение с базой данных не имеется.
Возможные решения:
- Stop Apache Tomcat внутри веб-приложения (уже пробовали отключения порта, который не работал, так как соединение было отказано - с автономным приложением Java он работал)
- Вызовите внешнее приложение Java из веб-приложения
- Конфигурируйте Apache Tomcat для выключения, если отключено только веб-приложение - я не смог найти способ сделать это
Любые идеи? Может быть, другой подход?
С уважением
Александр
Я думал о том, что уже, но как я могу получить объект Bootstrap, когда я нахожусь в приложении Уэбб? Вне веб-приложения я не знаю, что соединение db не работает. – Dynamicbyte
Как я уже говорил, просто используйте статический основной метод - org.apache.catalina.startup.Bootstrap.main (new String [] {"stop"}) – mindas
Внутри веб-приложения работает не работает! Объект Bootstrap можно вызывать, но генерируется исключение («Соединение отказано»). Я знаю, что он работает из другого Java-процесса, но я хотел избежать необходимости вызова внешнего приложения. – Dynamicbyte