Я запускаю свое веб-приложение на Tomcat 6.0.20. Поэтому всякий раз, когда я редактирую файл java и компилирую его, я перезапускаю tomcat, чтобы перезагрузить файл класса. Я знаю, что для этого могу установить reloadable = true в server.xml. Но. мой коллега говорит, что мы не можем доверять этому варианту, лучше перезапустить tomcat. Он прав? я должен перезапускать его все время ?? Ваши предложения приветствуются!
Настройка reloadable = true
во многом похоже на запуск приложения Rails в режиме test / dev или аналогичного приложения Django на тестовом сервере web.py - сервер отслеживает изменения в ваших файлах и перезагружает их по мере необходимости, поэтому вам не нужно перезапускать сервер. Эта функция предназначена только для использования в целях разработки.
Как упоминалось выше (и это является общим для всех этих тестовых платформ), такое поведение требует высокой производительности во время выполнения - ваши файлы классов будут перекомпилироваться в байт-код при каждом незначительном изменении; и накладные расходы на мониторинг $CLASSPATH
для изменений.
В идеале у вас должно быть две среды: среда разработки, в которой reloadable = true
в порядке; и производственная среда, управляемая кодом, в которой производительность и надежность имеют первостепенное значение.
Вы не должны использовать reloadable в продакшене. У него довольно высокая цена на время выполнения.