Проверка отсутствия утечек памяти при повторном развертывании веб-приложения - PullRequest
2 голосов
/ 15 сентября 2010

При повторном развертывании приложений в Tomcat / Glassfish / JBoss / etc легко вызвать утечку загрузчика классов, сохранив ссылку на экземпляр из предыдущего загрузчика классов.Евгений Кабанов обсуждает эту проблему здесь ...

http://www.zeroturnaround.com/blog/reloading-objects-classes-classloaders/

Кто-нибудь нашел хороший способ использовать автоматизированное тестирование (например, через junit), чтобы проверить, что повторное развертывание вашего веб-приложения не вызываетутечки памяти?Мне было интересно, если бы использование встроенной Jetty позволило бы легко написать тест junit, который будет повторно развертывать ваше приложение снова и снова.

Ответы [ 2 ]

1 голос
/ 17 сентября 2010

Вы можете взглянуть на функции обнаружения утечки памяти Tomcat , особенно начиная с версии 7.

1 голос
/ 15 сентября 2010

Я бы посоветовал взглянуть на пользовательский загрузчик классов для экземпляра Jetty с финализатором, который сообщает вам, что он собирает мусор, а затем явно - через visualvm или около того - сказать HotSpot сборщику мусора, чтобы финализатор былзапустить, если нет утечки.

...