2010-09-15 24 views
2

當在Tomcat/GlassFish/JBoss/etc中重新部署應用程序時,通過保留對以前類加載器的實例的引用很容易導致類加載器泄漏。 Jevgeni卡巴諾夫在這裏討論這個問題......測試在重新部署Web應用程序時沒有內存泄漏

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

有沒有人發現,利用自動化測試的好方法(即:通過JUnit的)來測試重新部署Web應用程序不會導致內存泄漏?我一直在想,如果使用嵌入式Jetty,可以輕鬆地編寫一個重複部署應用程序的junit測試。

回答

1

我會考慮查看一個Jetty實例的自定義類加載器,並帶有一個終結器,它告訴你它正在被垃圾收集,然後明確地 - 通過visualvm左右 - 告訴HotSpot垃圾收集,以便終結器將如果沒有泄漏就運行。