Java - 使用时间较短的会话超时#34;

时间:2016-06-06 19:52:21

标签: java session tomcat

我有一个部署到Tomcat的Java Web应用程序。在我的web.xml中,我指定了最大空闲超时。但是,我们通过ping多个页面并检查200响应来监视此Web应用程序的正常运行时间。每次ping都会启动一个会话,并且每隔几秒就有多次ping,我们会进行大量的会话。

这些会议最终会暂停,但我很乐意尽快删除它们。

在Tomcat" Sessions Administration"页面,我可以很容易地告诉哪个属于这一类。他们的"非活动时间"大于几秒钟,但他们的使用时间"是00:00这就是说,他们提出了一个请求而没有返回另一个请求。

问题

有没有办法在不影响用户的情况下超时这些非活动的单个请求?

其他信息

  • 我们的会话超时目前设置得相当高,超过一个小时。客户最了解=)
  • 我们的Web框架基于AJAX,因此对于真实用户来说,没有后续请求是不太可能的。
  • 据我们所知,我们无法控制来自监控工具的会话处理。

1 个答案:

答案 0 :(得分:0)

我的头顶:

  1. 使用相同的会话 - 发出初始请求并保存会话ID,然后使用该ID发出每个后续请求。
  2. ping时发送特殊标头(例如X-Invalidate-Session)。实现一个过滤器,在请求后立即使会话无效。
  3. 使用和不使用“ping”请求来衡量性能。如果没有显着差异,请不要担心。
  4. 我认为这个问题对于SO来说太宽泛了,因为解决这个问题肯定有更多的可能性。