Каковы преимущества JRebel?

Я проверял JRebel. Согласно их сайту:

"JRebel — это плагин для Java, который ускоряет разработку на основе JVM (Java, Scala, Groovy) за счет повторной загрузки изменений, сделанных в рабочей области, в работающую JVM без перезапуска или повторного развертывания, сохраняя состояние приложения, пока вы кодируете."

Кажется, это то же самое, что мы уже достигли с Eclipse, Netbeans и IntelliJ: мы сохраняем, и наши изменения развертываются мгновенно. Какие дополнительные преимущества может дать нам JRebel?

Может ли кто-нибудь объяснить это мне?


person Pirzada    schedule 12.09.2012    source источник
comment
JRebel использует ужасный метод перезагрузки класса. Поскольку я догадался, как работает JRebel, я никогда не буду его использовать.   -  person michael    schedule 12.09.2012


Ответы (3)


IDE (Eclipse, NetBeans или IntelliJ) автоматически повторно развертывает приложение, если оно настроено таким образом, что не происходит мгновенно. По сути, это просто автоматизация, которая по-прежнему приводит к реальному повторному развертыванию приложения, включая создание нового загрузчика классов и всех дополнительных вещей, которые участвуют в процессе инициализации.

В некоторых случаях IDE в сочетании с некоторыми контейнерами может сохранять состояние сеанса — если это работает для вас, это здорово. Если нет — вот вам — JRebel — это ответ.

В случае пакетного развертывания этап сборки добавляется, но с помощью JRebel вы просто устраняете все это сразу.

person Anton Arhipov    schedule 12.09.2012
comment
Не могли бы вы поделиться своими мыслями о stackoverflow.com/questions/ 35249234/. Я не думаю, что этот ответ все еще действителен, т.е. Basically, it is just the automation that still results in real redeployment .., так как я считаю, что перераспределение eclipse действительно быстро через несколько дней - person emilly; 07.02.2016
comment
Перераспределение @emilly vanilla по-прежнему остается просто перераспределением, независимо от того, запущено ли оно Eclipse или любой другой IDE. Если только конкретная технология во время выполнения не предоставляет специальные крючки для запуска IDE (или любого другого инструмента) и оптимизирована для скорости обновления/повторного развертывания. - person Anton Arhipov; 07.02.2016

Некоторые изменения невозможно перезагрузить, особенно при изменении классов JAR-файлов без перезагрузки или перезапуска сервера (независимо от того, какой сервер вы используете). Он автоматически изменяет скомпилированные классы на сервере и автоматически перезагружается в ваш путь к классам.

Когда вы сохраняете и обновляете изменения в своей среде IDE, вы в основном перестраиваете военный файл и повторно развертываете его на сервере. Этот процесс все еще может замедляться, особенно при повторном развертывании больших приложений с несколькими файлами jar и war-файлами, когда необходимо обновить все пути к классам.

person aseychell    schedule 12.09.2012

JRebel не является плагином IDE. JRebel поставляется в комплекте с подключаемыми модулями для Eclipse, IntelliJ IDEA, NetBeans и JDeveloper, однако агент JRebel не зависит от IDE и может использоваться вне IDE.

Если у вас есть вопросы Что такое JRebel, а что нет? вот ссылка, которая может дать все ответы, которые вы ищете:

Что такое JRebel, а что нет?

Вот видео о JRebel:

видео JRebel

person S. Mayol    schedule 08.04.2015