来自堆CDI @RequestScoped bean的不可清除

时间:2015-03-07 23:01:49

标签: jsf garbage-collection cdi

Mojarra 2.3.0-m01-SNAPSHOT,MyFaces扩展CDI Bundle 1.0.6,Glassfish 4.0,ObjectDB。

我有一个RequestScoped CDI bean。当我第一次来到一个使用这个bean的页面时,一个新实例出现在堆中(我使用VisualVM观察)并且以后没有被删除,但是它的@PreDestroy被调用了。当我第二次没有清理cookie时,它会在几秒钟内创建另一个正在清理的bean实例。

但是当我清理cookie并再次访问页面时,它会创建第二个不可移动的bean实例。因此,在大约4000个新用户之后,该堆包含大约500 MB的无用对象,并且站点因内存不足而出现故障。为什么GC不清理一些RequestScoped bean?它们应在请求处理期间处于活动状态,并在其后删除。以下是其中一个bean的参考资料:

0 个答案:

没有答案