首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java-会话超时限制的可行性

Java-会话超时限制的可行性
EN

Stack Overflow用户
提问于 2014-10-21 08:41:35
回答 4查看 479关注 0票数 0

以编程方式使用HttpSession. setMaxInactiveInterval(int seconds)或使用

代码语言:javascript
复制
<session-config>
    <session-timeout>-1</session-timeout>
</session-config>

?这会导致任何开销吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-10-21 09:05:48

是。可以使用setMaxInactiveInterval方法通过java或jsp页面以编程方式设置会话超时,

HttpSession.setMaxInactiveInterval(int秒)

在这里,int值(以秒为单位)指定了servlet容器将使此会话无效之前客户端请求之间的时间(以秒为单位)。

间隔值为零或更少表示会话不应超时。

但是,许多一般使用的HTTP服务器被配置为在一定时间的不活动之后放弃持久连接,以节省系统资源,通常不通知客户端。因此,保持连接蛋白的活力可能导致java.lang.OutOfMemoryError: GC overhead limit exceeded错误。

内存不足错误

更多开放的连接需要更多的内存和更多的请求访问您的服务器,并最终导致服务器崩溃。

票数 2
EN

Stack Overflow用户

发布于 2014-10-21 08:45:28

文档指出,用负数秒调用该方法将使会话永远不会超时。

开销取决于实现,但我认为(从Catalina的StandardSession的源代码中可以看到),它会导致比有限的会话时间更少的开销,因为服务器不需要在期满后进行所需的清理。

票数 0
EN

Stack Overflow用户

发布于 2014-10-21 08:46:38

通过配置文件是首选的,如果问题是是否在代码中使用配置文件或调用setMaxInactiveInterval(int秒),则可以在一个地方更改超时限制。

是的,我们可以通过配置设置设置无限的超时限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26482389

复制
相关文章

相似问题

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