【问题标题】:Testing that there are no memory leaks when redeploying a web application测试重新部署 Web 应用程序时没有内存泄漏
【发布时间】:2010-09-15 16:38:34
【问题描述】:

在 Tomcat/Glassfish/JBoss/etc 中重新部署应用程序时,通过保留对先前类加载器实例的引用,很容易导致类加载器泄漏。 Jevgeni Kabanov 在这里讨论了这个问题...

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

是否有人找到了利用自动化测试(即:通过 junit)来测试重新部署 Web 应用程序不会导致内存泄漏的好方法?我一直在想,使用嵌入式 Jetty 是否可以轻松编写一个 junit 测试,一遍又一遍地重新部署您的应用程序。

【问题讨论】:

    标签: java web-applications memory-leaks classloader


    【解决方案1】:

    我会考虑查看一个 Jetty 实例的自定义类加载器,它带有一个终结器,它告诉你它正在被垃圾收集,然后明确地 - 通过 visualvm 左右 - 告诉 HotSpot 垃圾收集,所以终结器将是如果没有泄漏就运行。

    【讨论】:

      【解决方案2】:

      您可以查看memory leak detection features of Tomcat,尤其是从第 7 版开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-02
        • 2011-12-08
        • 1970-01-01
        • 2011-10-09
        • 1970-01-01
        • 2010-11-11
        相关资源
        最近更新 更多