Немедленное повторное развертывание приложений Java EE

Я новичок в Java EE, борюсь с медленностью процесса развертывания и задаюсь вопросом, делаю ли я что-то не так. У меня есть опыт работы с Django, когда изменения в коде происходят сразу же, и кажется, что горячее развертывание приложений Java EE немного сбивает с толку - есть несколько вещей, которые претендуют на горячее развертывание (Glassfish, Eclipse manic hotdeploy, Jetty hotdeploy, JRebel и т. Д. ).

Мой проект - это проект Maven, и я использую Netbeans для развертывания. На сайте используются фреймворки Spring, JSF и Hibernate.

В Netbeans развертывание при сохранении, согласно следующему снимку экрана, похоже, включено, но щелчок / снятие щелчка невозможно, поскольку он утверждает, что получил информацию из моего pom.xml (хотя в моем pom. xml (только зависимости)). enter image description here

Теперь кажется, что изменения в некоторых файлах вступают в силу немедленно. К ним относятся: - файлы JSF - статические файлы

Для следующих изменений требуется развертывание: - любой файл XML - любой файл свойств, даже свойства локализации files - Любой файл java

Изменения в них требуют, чтобы я развернул вручную , а повторное развертывание занимает полминуты, хотя в настоящее время у меня есть только 2-3 класса, в основном один пользовательский класс и класс авторизации.В данный момент проект позволяет только входить в систему, и, несмотря на это, компиляция занимает около нескольких секунд; и контейнер (Glassfish), кажется, потребляет около 600 МБ ОЗУ и даже выдает ошибки PermGen после нескольких развертываний, и мне нужно убить процесс Java с помощью диспетчера задач. (Я читал, что это связано с утечкой сборщика мусора после каждого повторного развертывания, и я даже использовал jhat для создания профиля, но мне был представлен список из тысяч классов, моих классов, классов Spring, Hibernate и т. Д.)

Я тоже слышал о jrebel и пробовал запустить его, но мне кажется, что он несовместим с моей версией Netbeans (7.0), и даже несмотря на то, что он запускается, для любых изменений любого файла java по-прежнему требуется повторное развертывание.

Могу ли я что-нибудь сделать, чтобы исправить эти проблемы, или это нормально в Java EE ждать около 1 минуты после каждого изменения любого файла Java? Эта проблема значительно снижает производительность.

Вот мой вывод Glassfish при развертывании приложения: http://pastebin.com/7FhZ6AVh

10
задан BalusC 14 October 2011 в 14:13
поделиться