首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使会话无效,托管bean也不会被释放。

即使会话无效,托管bean也不会被释放。
EN

Stack Overflow用户
提问于 2011-06-29 07:56:49
回答 1查看 429关注 0票数 0

Tomcat 6提供了一个JSF应用程序,每个会话都可以将viewScoped bean作为托管bean分配到“会话”范围内。问题是,用于存储此bean的内存似乎从未被释放,即使会话在空闲状态中花费了几个小时。

在会话空闲了一定时间(例如,10分钟)之后,有没有办法强迫Tomcat释放这个内存?如果不是,以编程方式手动释放此内存如何?还是“会话”作用域中的“托管bean”的特性之一,无论发生什么,它都会在内存中持续存在,直到服务器关闭?提前感谢!

但是viewScoped bean可能不会被释放。因为如果单击过期页面上的链接,tomcat控制台中的日志显示服务器端的UIViewRoot仍然有效。日志:前期恢复视图1 afterPhase -RESTORE_VIEW 1次:3段前呈现_RESPONSE 6和服务器进程的内存没有稍微减少。如果服务器运行时间相对较长。应用程序的响应是如此缓慢,并且似乎不健壮,例如分页器不能工作,等等。即使在服务器关闭时,控制台也会打印出来:等待16个实例被解除分配

有人知道这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-29 11:04:33

会话范围内的托管bean不会被释放,因为会话没有超时。您需要在部署描述符文件(web.xml)中指定会话的可接受超时。下面的示例以分钟为单位。10分钟后,会话将失效,您的会话作用域bean应该被销毁。

代码语言:javascript
复制
<session-config>
      <session-timeout>10</session-timeout> 
</session-config>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6517424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档