Сервер приложений Oracle 10g, Java 1.5 + JSF (уровень представления) + iBatis (уровень связи с базой данных)
В том месте, где я сейчас работаю, иногда возникает необходимость внести небольшие изменения в каталог развертывания. Я не отрицаю, что это не лучшая практика (если я останусь на этом сайте достаточно долго, возможно, я в конечном итоге приведу пример худших практик в целом - но в этом есть и хорошие стороны:)
Итак, три основные вещи, которые мы настраиваем:
- перекомпилированные файлы классов Java
- модифицированные JSP
- модифицированный запрос iBatis «карты» в формате XML
Например, когда сообщается об ошибке, и клиент стремится исправить ее, мы вносим исправление в файл java, перекомпилируем класс и копируем полученный файл .CLASS туда, где находится старая версия. был размещен во время развертывания. Аналогично, мы перезаписываем измененные JSP (я полагаю, что сервер приложений волшебным образом понимает, когда прибыл новый JSP, и перекомпилирует его при необходимости).
В вышеупомянутых двух случаях, в качестве меры предосторожности, мы также перезапускаем сервер приложений. Я никогда не пытался увидеть, сработают ли изменения без перезапуска - если сервер каким-то образом кеширует классы / JSP в памяти, этого не произойдет. Итак, это мой первый вопрос - изменения в файлах классов / JSP отслеживается сервером приложений? может быть перезагрузка не нужна?
В случае iBatis XML мы видели, что новые запросы берутся из обновленных XML, и перезапуск не требуется. Тем не менее, иногда при развертывании мы видели, что некоторые XML-файлы остаются заблокированными, что означает, что iBatis что-то кэширует (не уверен, что).
Мне было интересно, в конечном счете, как эти настройки могут повлиять на стабильность системы? Другие люди, кроме нас, делают что-то подобное?