Можно ли перезагрузить отдельный класс вручную с помощью Tomcat 8 без перезагрузки сервера? Это касается производственной среды, о которой я говорю, поэтому я не хочу использовать для этого атрибут reloadable . У меня просто иногда может быть обновление одного класса (или пары классов), которые я хотел бы, чтобы tomcat распознал.

Поскольку это можно сделать с помощью атрибута reloadable или установки отслеживаемых ресурсов, я надеялся, что можно также каким-то образом запускать его вручную.

2 ответа2

1

Если вы замените файл класса, и Tomcat уже загрузит этот класс, вам нужно будет запустить повторное развертывание веб-приложения для получения обновленного класса. Самый простой способ вызвать это - прикоснуться к файлу context.xml веб-приложения. Если его нет, есть и другие варианты. См. Этот список в документах Tomcat:http://tomcat.apache.org/tomcat-8.0-doc/config/automatic-deployment.html#Modified_files.

0

В конце концов я решил пойти с менеджером Tomcat. Я использую функции manager-script менеджера (GUI и т.д. Отключен), и я ограничиваю доступ только к localhost. Я обернул команду перезагрузки в небольшой скрипт оболочки, например так:

#!/bin/bash
echo Reloading application now...
curl http://my-user:my-password@localhost:8080/manager/text/reload?path=/
echo Done.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .