При изменении файла класса могу ли я заставить сервер glassfish не перезапускаться, но по-прежнему отражать изменения?

#glassfish #glassfish-3

#glassfish #glassfish-3

Вопрос:

При изменении файла класса могу ли я заставить сервер glassfish не перезапускаться, но по-прежнему отражать изменения?

Я имею в виду, что сервер glassfish не перераспределяет (или публикует) приложение, а только перераспределяет класс, который изменился.

Ответ №1:

Существует несколько способов повторного развертывания приложения на GlassFish 3.1, которые не требуют перезапуска сервера.

Метод, который я бы порекомендовал, это ‘повторное развертывание asadmin —name foo —keepstate= true foo.war’ (или использовать развертывание каталога для веб-приложения …)

Вы можете посмотреть на страницу руководства для подкоманды повторного развертывания asadmin, чтобы узнать больше о деталях.

Я почти никогда не создаю развертываемый архивный файл…. Обычно я выполняю развертывание каталога, что устраняет время, которое было бы потрачено на создание, а затем на разборку архивного файла.

Используя развертывание каталога, я также могу применить настройки к файлам jsp и другому статическому содержимому, чтобы протестировать их без этапа перестройки / повторного развертывания.

Мне нравится использовать опцию keepstate во время разработки.

Еще один важный шаг, который вам следует предпринять, чтобы избежать ненужных перезапусков, — это перейти на ОС с открытым исходным кодом, такую как Linux или Solaris (подальше от Windows), которая имеет несколько проблем с блокировкой файлов.

Ответ №2:

Если это предполагается сделать во время разработки, вы можете попробовать JRebel.