развертывание файла java CLASS/JSP во время выполнения

Сервер приложений Oracle 10g, Java 1.5 + JSF (уровень представления) + iBatis (уровень связи с базой данных)

Там, где я сейчас работаю, иногда возникает необходимость внести небольшие изменения в каталог развертывания. Я не отрицаю, что это не лучшая практика (если я останусь достаточно долго на этом сайте, возможно, я закончу пример худших практик в целом - но в этом есть и хорошие стороны :)

Итак, три основные вещи, которые мы настраиваем:

  • перекомпилированные файлы классов Java
  • модифицированные JSP
  • модифицированный запрос iBatis "карты" в формате XML

Например, когда сообщается об ошибке, и клиент хочет продолжить ее исправление, мы вносим исправление в файл java, перекомпилируем класс и копируем полученный файл .CLASS туда, где старая версия была помещена во время развертывание. Точно так же мы перезаписываем измененные JSP (я полагаю, что сервер приложений волшебным образом понимает, когда приходит новый JSP, и при необходимости перекомпилирует его).

В приведенных выше двух случаях, просто в качестве меры предосторожности, мы также перезапускаем сервер приложений. Я никогда не пытался увидеть, будут ли изменения работать без перезапуска - если сервер каким-то образом кэширует классы/JSP в памяти, это не так. Итак, это мой первый вопрос - являются ли изменения в файлах классов/JSP отслеживается сервером приложений? может перезагрузка не нужна?

В случае XML iBatis мы видели, что новые запросы берутся из обновленных XML, и перезапуск не требуется. Тем не менее, иногда при отмене развертывания мы видели, что некоторые XML-файлы остаются заблокированными, что означает, что iBatis что-то кэширует (не уверен, что именно).

Мне было интересно, в конечном счете, как эти настройки могут повлиять на стабильность системы? Делают ли другие люди, кроме нас, подобные вещи?


person hello_earth    schedule 21.01.2009    source источник


Ответы (1)


У нас есть Apache Tomcat на наших рабочих серверах, JSP можно без проблем заменить, сервер будет читать новую страницу без перезагрузки. Такие файлы, как .properties, ibatis .xml, .class, нельзя использовать таким образом, насколько я знаю, для этого требуется перезагрузка Tomcat.

person Alberto Zaccagni    schedule 21.01.2009