使用Jetty 7重新部署时解决PermGen问题

Rob*_*anu 6 java jetty el permgen maven

经过几天的调试,我已经成功地在Tomcat 6.0.32上成功地重新部署了一个中到大型的Web应用程序而没有任何PermGen泄漏.我看到PermGen它填满后的下降,并且类加载器被垃圾收集.

经过多次欢欣之后,我尝试重新部署应用程序而不会泄漏我们的开发环境,该环境由Maven和Jetty插件组成.

不幸的是,我似乎遇到了服务器限制,如下面的屏幕截图所示

Yourkit快照http://img811.imageshack.us/img811/7320/jettyclassloaderbeanelr.png

Jetty请求线程有一个强引用,BeanElResolver它反过来强烈引用我的webapp中的多个类.

我没有找到关于如何刷新此信息的参考.

如何PermGen从我的应用程序中删除此最终泄漏?


更新:

我已经做了以下修复问题,没有运气:

  • 更新到最新版本的Jetty插件(7.4.5和8.0.0.M3)
  • 使用CMS收集器: -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

更新2:

Rob*_*anu 2

这是 EL 实现中的一个实际错误,已在最新的 Jetty 版本中解决。

版本 7.5.0 发布后将包含修复程序。