我使用Tomee,Apache Open Web Beans和JSF遇到了非常激进的内存泄漏。
org.apache.openejb.core.WebContext
中的以下代码每次导航到某个页面时都会不断添加元素,但从不删除它们:
if (webBeansContext != null) {
final InjectionTargetBean<Object> bean = InjectionTargetBean.class.cast(beanDefinition);
bean.getInjectionTarget().inject(beanInstance, creationalContext);
creatonalContexts.put(beanInstance, creationalContext);
}
导致大量的JSF对象地图及其相关的CreationalContext从未被垃圾收集:
最终这会导致服务器耗尽内存并导致内存崩溃。有没有人遇到过这个?