Как повторно развернуть проект EJB без перезапуска сервера - PullRequest
3 голосов
/ 10 октября 2011

Я новичок в разработке веб-приложений JBoss Seam и Java в целом. Одна вещь, которую я не могу понять при прохождении нескольких руководств, - это как повторно развернуть компоненты, в которые я внес изменения, в проекте EJB, без необходимости перезапускать JBoss Application Server (6.0), на котором размещен веб-проект JBoss Seam, который использует бобы. Запуск JBoss AS занимает около 2 минут, и в настоящее время очень болезненно вносить изменения в проект и развертывать его.

Некоторые предложения, которые я прочитал в Интернете, включают:

  • Использование консоли jmx, например. перейти к http://localhost:8080/jmx-console/ ... хорошо, но как? Что я делаю точно?
  • создание файла build.xml для ant и запуск какого-либо процесса автоматического развертывания ... есть ли хорошие примеры?

Как остальные из вас, более опытные разработчики веб-приложений JBoss Seam, быстрее внедряют ваши проекты?

Любая помощь высоко ценится, спасибо.

Ответы [ 3 ]

0 голосов
/ 12 октября 2011
  1. Используйте функцию горячего повторного развертывания JBoss: просто удалите EAR (WAR) из каталога развертывания и скопируйте туда новую версию.
  2. Запустите JBoss в режиме отладки из вашей IDE (Eclipse). Затем некоторые изменения кода могут быть заменены непосредственно в JVM. Если горячая замена не удалась, выполните 1. горячее повторное развертывание.
  3. Попробуйте отличный JRebel плагин. Гораздо более мощный, чем 2. Горячая замена JVM. Вы можете комбинировать Jrebel с 1. горячими повторными развертываниями - если плагин JRebel выходит из строя, тогда выполните горячее повторное развертывание.

Только будьте осторожны, горячее повторное развертывание может выявить утечки памяти в некоторых библиотеках (например, Jasperreports). Если это так, перезагрузите сервер. Но вам нужно перезапускать JBoss очень редко.

0 голосов
/ 20 июня 2012

Другой вариант, который мне сказали, это использовать кнопку «Touch Descriptors» (которая похожа на опцию «быстрого повторного развертывания») в JBoss.

Touch Descriptors icon in JBoss Dev Studio 4.0

Он есть в Dev Studio 4.0, хотя не уверен насчет более ранних версий.По-видимому, он создает новую временную метку на сервере и заставляет файл web.xml перечитываться, таким образом повторно развертывая.

0 голосов
/ 10 октября 2011

Это может быть вызвано рядом причин:

  1. Приложение пытается сохранить состояние.
  2. Новое развернутое приложение имеет загрузчик классов, отличный от старого.
  3. Другие случайные причины.В нашем случае конфигурация jboss-classloading.xml была неправильной, и это привело к тому, что горячее развертывание не работало.

Вносили ли вы какие-либо изменения в конфигурацию JBoss?Это также может привести к горячим проблемам развертывания.

Удачи.

...