Развертывание файла Java CLASS / JSP на ходу - PullRequest
0 голосов
/ 22 января 2009

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

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

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

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

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

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

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

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

1 Ответ

1 голос
/ 22 января 2009

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

...