За последние 10 лет у меня была возможность развернуть веб-приложения в tomcat бесчисленное количество раз. Я также написал несколько сценариев, пытающихся сделать это автоматически, но никогда удалось полностью автоматизировать его.
Вот проблема. Я пытаюсь развернуть новую войну с тем же именем, что и существующая война в webapps моего tomcat.
Вариант 1: наивный подход - просто скопируйте войну и дождитесь ее обновления взорванного каталога. Это иногда срабатывает. Много раз - взорванный каталог не обновляется в разумные сроки.
Вариант 2: сквозной подход - остановите tomcat, удалите все войны и временные файлы. скопируйте войну и запустите кота. Обычно это включает в себя остановку tomcat, ожидающую некоторое время, - и затем проверку, чтобы убедиться, что процесс все еще жив и убивает его.
Вариант 3: ручной подход. Это может быть удивительно, но я нашел, что он работает много раз - скопируйте войну, дождитесь, когда взорванный каталог будет обновлен, и как только это произойдет -
перезапустите tomcat. если это не так - вы можете попытаться удалить временные рабочие файлы, и это иногда помогает.
Я также пробовал много вариантов - с другим порядком и подмножеством действий - перезапускать, останавливать, удалять войну, удалять взорванные, удалять локальный контекст, удалять локальную рабочую директорию, копировать войну, спать, сравнивать даты, вежливо спрашивать tomcat перезагрузка и т.д. Ничто, казалось, просто не работает.
Это может быть что-то, что я делаю неправильно, но я слышал о том же опыте от многих людей, поэтому я здесь, чтобы получить совет - что скажешь? Каков наилучший способ развертывания новой войны с tomcat?
Спасибо!