пятница, 8 февраля 2013 г.

конфигурирование статических ресурсов в spring

Пользователи Eclipse, для установки, могут воспользоваться сервисом Eclipse Marketplace. Пользователи NetBeans и IntelliJIDEA могут найти JRebel в соответствующем списке плагинов. Детальные инструкции можно найти . После установки плагина вам дадут знать, что неплохо бы зарегистрироваться и получить лицензию

Есть несколько вариантов установки. Т.к. большинство разработчиков всё-таки работают используя IDE, такие как Eclipse, NetBeans или IntelliJ, то и естественным способом установки является установка плагина для отдельно взятого IDE.

Установка и настройка

4. Сохраняется состояние объектов и пользовательской сессии. Поэтому, в идеале, можно оставаясь на одной и той же странице, видеть результаты изменений лишь жми F5.

3. Не создаются новые загрузчики классов (classloaders), поэтому меньше риск получить утечки памяти при обновлениях. Соответственно, экономим время на вынужденных перезапусках самого контейнера.

2. Не происходит повторного развёртывания приложения снова экономим время.

1. Поскольку JRebel умеет загружать ресурсы прямо из рабочего пространства, то отпадает надобность собирать полный архив приложения (JAR/WAR/EAR). Остаётся только скомпилировать изменённый код, что занимает гораздо меньше времени, чем полная сборка архива.

Какие приемущества появляются при использовании JRebel:

Итак, JRebel это инструмент, призванный избавить от проблемы повторного развёртывания приложения во время разработки, т.е. сэкономит вам много времени.

Когда перезапуск контейнера/приложения занимает считанные секунды, проблема, описанная выше, не ощущается так сильно. Однако, по мере роста и усложнения проекта, неудобства дадут о себе знать. Тут-то и можно задуматься: может быть, JRebel это то, что вам нужно?

В зависимости от размера приложения, используемого контейнера, и некоторых других факторов, этапы 2, 3 и 4 могут занимать от нескольких секунд, до совершенно невменяемых цифр. Наша компания проводила разработчиков относительно используемых технологий и времени которое затрачивается на развёртывание приложения. Как оказалось, в среднем на развёртывание тратится около 3 минут за раз, и около 10 минут в час. В плачевных случаях, где на развёртывание уходит более получаса, нет даже смысла спрашивать у человека, сколько раз в час он может повторить этот процесс. Ответ очевиден.

4. Открыли развёрнутое приложение, и, после некоторых манипуляций увидели результаты своего труда.

3. Развернули полученный архив в контейнере

1. Сделали изменения в коде (или в ресурсах)

Как выглядит цикл разработки web-приложения, в классическом виде:

Куда уходит время?

Изначальная проблема известна практически любому разработчику, который работает с Java: после каких-либо изменений в проекте, для того, чтобы увидеть результат, тратится довольно много времени на сборку и развёртывание в контейнере. На Хабре уже публиковались отличные статьи о том, как можно или процесс разработки, не стану повторяться. Но дело в том, что в упомянутых способах есть свои изъяны: далеко не все изменения возможно перегрузить в развёрнутом приложении штатными средствами; очень легко получить утечки памяти, которые приведут к надобности перезапуска контейнера. Технические детали хорошо расписаны любопытных приглашаю почитать.

Откуда ноги растут?

Как непосредственному участнику разработки данного продукта, мне хотелось бы прояснить некоторые моменты, почему JRebel существует и как он может помочь Java-разработчику.

На Хабре несколько раз публиковались статьи, где либо просто , либо выкладывалась информация, что . При этом, не всем читателям было понятно, , и .

Комментариев нет:

Отправить комментарий