Как я могу позволить Tomcat запустить команду после завершения развертывания .war-файлов веб-приложения - PullRequest
1 голос
/ 10 апреля 2019

Мы знаем, что при запуске Tomcat он будет развертывать файлы .war своих веб-приложений.У меня вопрос: после развертывания мне нужно запустить команду для изменения файла внутри WEB-INF / веб-приложения, которое создается после развертывания, и мне нужно позволить Tomcat сделать это автоматически для меня, это возможно сделать?Что-то вроде команды post_run после развертывания.

Я обнаружил, что CustomEventHookListener, вероятно, может сделать это Как запустить скрипт при запуске Tomcat? , но это связано с созданием нового класса Java, и яне разрешено делать это.Я должен найти способ изменить существующие конфиги Tomcat, такие как server.xml или tomcat.conf в TOMCAT_HOME / conf, чтобы сделать это.

1 Ответ

0 голосов
/ 06 мая 2019

Основная проблема неиспользования Event Hook Listener заключается в том, что нет надежного способа определить, готово приложение или нет, так как Catalina реализует свой жизненный цикл для каждого из своих компонентов (как видно из https://tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/Lifecycle.html).

Ваш лучший способ - использовать tail или какую-либо внешнюю программу, определяющую состояние компонента, но AFAIK нет способа реализовать слушателей непосредственно в файлах конфигурации.

...