gpt4 book ai didi

java - 使用 session bean 时的 JSF 内存使用问题

转载 作者:行者123 更新时间:2023-11-29 04:04:56 25 4
gpt4 key购买 nike

我正在开发一个应用程序,它有一个导航树,它是一个 session bean。每次我调用包含这个 bean 的页面时,我的内存使用量都会增加。然而,在几个小时的不活动之后,内存仍然没有被释放。有什么想法会发生这种情况或解决方法吗?

最佳答案

您可以在部署描述符中显式设置 session 超时,或以编程方式设置(尽管您可能不想在 JSF 应用程序中这样做)。

最终,这是在容器的控制下——服务器管理何时释放资源,而不管逻辑到期设置如何。

您可以使用监听器帮助诊断正在发生的事情。例如,您可以让 bean 类实现 HttpSessionBindingListener .当它被添加到 session 中或从 session 中删除时,它会收到通知。或者,您可以使用 HttpSessionAttributeListener 查看所有 session 事件(JSF 可以使用 session 来管理 View 状态,所以期待一些您没有自己定义的条目)。 HttpSessionAttributeListener 在 web.xml 中定义:

<listener>
<display-name>MyListener</display-name>
<listener-class>
somepackage.MySessionDiagnosticListenerImpl
</listener-class>
</listener>

如果您只是让服务器处于非 Activity 状态,可能只是因为它依赖于其他 session 请求来触发过期 session 清理,而您正在观察实现细节。或者您可能正在泄漏内存,因为您在某些非托管类中设置了对对象的引用。

关于java - 使用 session bean 时的 JSF 内存使用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/355975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com