Tomcat会话意外到期

Bog*_*iev 13 java session tomcat

我们正在运行处理超过100个并发会话的tomcat应用程序服务器.在过去的两个月中,最活跃的用户注意到他们有时会从系统中被踢出.

据我所知,日志tomcat会话没有任何理由过期.

我认为Web应用程序方面没有任何问题.tomcat方面有什么问题吗?

Tomcat 6.0.18.

Tho*_*sen 8

如果没有代码机会触发这个,我会看看内存使用情况.这可能是Tomcat耗尽内存并使会话无效以进行恢复的结果.

如果可能的话监视垃圾收集,和/或用jconsole或jvisualvm进行监视.


idr*_*sid 7

可能的原因是您在会话中放入了一个不实现Serializable接口的对象.Tomcat偶尔会在磁盘上写一些会话.如果一个会话包含不可序列化的对象,它将被简单地从容器中删除(因为NotSerializableException).如果发生这种情况,您应该在tomcat日志文件中看到Exception.


Dav*_*itz 5

我会增加对服务器的总体监控,特别是会话的监控。

lambda 探针是一个很好的监控应用程序- 它允许您查看当前会话及其数据。我还会添加一个HttpSessionListener来记录会话创建和销毁。

编辑

是否有可能您将一些不可序列化的对象添加到会话中,而 Tomcat 无法将它们钝化到磁盘?

编辑2

Lambda 探针似乎已经死了,该项目有一个更好的分支,位于http://code.google.com/p/psi-probe/