Горячая замена классов JVM, загруженных Spring, с использованием JPDA

StackOverflow https://stackoverflow.com/questions/5413060

Вопрос

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

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

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

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

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

Это было полезно?

Решение

My experience with this is that it works well and reliably, provided you don't of course change the method signature, add fields etc. Changing the implementation of any existing method of any class in the spring container (MVC controllers included) should work entirely as expected. For reference, the last time I tested this was with Tomcat 6, Spring 3 and using Netbeans 6.9's "Apply Code Changes" over a remote attached debugger, but it's Java standard so I doubt the IDE will effect it much.

EDIT: None of the above concerns JRebel (I've never used it).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top