【发布时间】:2016-05-02 06:15:51
【问题描述】:
我目前正在从事一个使用焊接 Cdi 实现的 javaEE 项目。我分配了一个任务来分析我们应用程序中的内存泄漏和内存管理。我对垃圾收集器和 cdi 代理对象的以下方面感到困惑。我有 Cdi 会话范围的 LoginController bean。当两个或两个以上的用户登录而不是怀疑各自数量的 LoginController bean 被创建时。如果这个登录控制器 bean 被注入到另一个 bean 并且当访问另一个 bean 时,创建登录控制器的代理并处理请求.无论创建多少个LoginController,都只会创建一个LoginController Proxy对象的实例。
由于 LoginController bean 在会话超时时被垃圾收集。但是登录控制器的代理一旦创建就永远不会被垃圾收集,即使所有登录控制器 bean 都被垃圾收集。我想知道为什么..?
【问题讨论】:
标签: cdi jsf-2.2 jboss-weld jakarta-ee