Горячая замена классов в JVM, загруженная Spring с использованием JPDA - PullRequest
0 голосов
/ 24 марта 2011

Может кто-нибудь поделиться своим опытом по этой теме?

При использовании jpda на tomcat, перезагрузка классов работает даже для классов, загружаемых через spring? Допустим, у меня есть весенний контекст с несколькими загруженными и созданными экземплярами классов, и я хочу изменить метод в одном из них.

Как правило, класс заменяется, перезагружается, и каждый другой экземпляр создается из новой версии класса. Я полагаю, что даже старые экземпляры заменяются старыми?

Это также работает при использовании Spring? Чтобы у меня был контроллер mvc, и я изменил его метод?

Или я должен использовать JRebel для этого требования.

1 Ответ

0 голосов
/ 24 марта 2011

Мой опыт работы с этим заключается в том, что он работает хорошо и надежно, при условии, что вы, конечно, не измените сигнатуру метода, не добавите поля и т. Д. Изменение реализации любого существующего метода любого класса в контейнере пружины (включая контроллеры MVC) должен работать полностью, как ожидалось. Для справки, в последний раз я проверял это с Tomcat 6, Spring 3 и с использованием «Применить изменения кода» Netbeans 6.9 к удаленному подключенному отладчику, но это стандарт Java, поэтому я сомневаюсь, что IDE сильно на это повлияет.

РЕДАКТИРОВАТЬ: Ничто из вышеперечисленного не касается JRebel (я никогда не использовал его).

...