2012-09-10 2 views
8

Наш метод развертывания новой версии приложения для weblogic (11g) - скопировать поверх существующего файла уха, а затем остановить и перезапустить веб-сервер. Мы начинаем/останавливаем weblogic, а не перераспределяем, из-за известной проблемы с пергеном (где, в конце концов, у нас закончится perm gen и придется отказываться от сервера weblogic).Как перезагрузить кэшированный JSP-сервер при перезагрузке

Однако этот способ развертывания имеет недостаток - новые версии JSP не просматриваются weblogic. Чтобы исправить это, нам пришлось уничтожить содержимое каталога tmp, в котором хранится кеш скомпилированных JSP до перезапуска сервера. Есть ли настройка, которая сообщит weblogic об очистке кеш-памяти/перезагрузке/перекомпиляции JSP при ее резервном копировании?

ответ

1

Чтобы избежать этого, вы должны сначала обновить свой модуль, а затем перезапустить сервер .. это должно устранить вашу проблему.

Хотя упомянутый процесс всегда дает 100% правильность. Но вы можете попробовать вышеупомянутые шаги.

4

Изменение обновления таймера JSP

Стандартное решение сказать Weblogic, чтобы проверить свежесть JSP чаще либо установив значение в вашем web.xml или в weblogic.xml.

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

Выбор между изменением web.xml или weblogic.xml зависит от вас, что касается целевых серверов приложений, являющихся WebLogic только или нет.

Если вы хотите изменить web.xml, а затем установите значение для параметра контекста weblogic.jsp.pageCheckSeconds следующим образом:

<context-param> 
    <param-name>weblogic.jsp.pageCheckSeconds</param-name> 
    <param-value>0</param-value> 
</context-param> 

Если вы хотите изменить weblogic.xml, затем установите значение параметра page-check-seconds в разделе jsp-descriptor. Ниже приведена соответствующая выдержка из документации:

Устанавливает интервал, в секундах, на котором WebLogic Server проверяет, были ли изменены файлы JSP и перекомпиляция. Зависимости также проверяются и рекурсивно перезагружаются при изменении. Значение -1 означает, что никогда не проверяйте страницы. Это значение по умолчанию в рабочей среде. Значение 0 означает, что всегда проверяйте страницы. Значение 1 означает проверку страниц каждую секунду. Это значение по умолчанию в среде разработки. В производственной среде, где изменения в JSP редки, рассмотрите возможность изменения значения pageCheckSeconds до 60 или выше в соответствии с вашими требованиями к настройке.

Источник: http://docs.oracle.com/cd/E21764_01/web.1111/e13712/weblogic_xml.htm#i1038490

Принуждение передислокация

сервер Перезапуск Weblogic не заставляет его перераспределить веб-приложения (особенно в режиме производства).

Решения Trigger явный вид «перераспределить» операции жизненного цикла с помощью командной строки, как это:

java -cp weblogic.jar weblogic.Deployer -redeploy [-remote -adminurl t3://hostname:hostport] -username login -password password -name webapp.name [-upload -source webapp.war] 
  • Обратите внимание, что -redeploy являются СПОСОБЫ гораздо безопаснее, чем -update, особ. с Weblogic < = 10.x

  • Сохраните первый блок между [], только если сервер не является локальным. Удалите [] в этом случае.

  • Сохраните второй блок между [], если вы хотите объединить файл WARV , загрузив его на том же шаге, который проще. Удалите [] в этом случае.

+1

У меня такая же проблема. Время проверки страницы отлично работает при непосредственном изменении развернутых JSP-файлов. В сценарии, описанном @BestPractices, хотя, где сервер выключен, а затем файлы развернуты, weblogic, похоже, не замечает, что все/некоторые из файлов были изменены и вместо них используют сгенерированные классы. –

Смежные вопросы