WebSphere HttpSession not getting invalidated



实时http会话数似乎以千为单位,出于某种原因,它似乎是会话。invalide要么没有清除会话,要么"低优先级"线程没有声明非活动会话。

请查看实时http会话cout的输出。

TIMESTAMP       Server      WAR FILE        Live Count
=========       ======      ========        ==========
2013-12-10_00:00    cib_bz_1    WD#K1.war           5253

在我们的注销servlet中,我们确实调用了session.validate,但http会话似乎仍然存在,并且没有被清除。

所以我想知道:

  • 是什么原因导致session.invalidate()不使会话无效?如果其他线程引用了相同的会话,它是否可能不会无效?

  • 是什么原因导致在Websphere中运行的低优先级线程不会使http会话无效和删除?

我真的很感激你的建议。

感谢

也许您的代码在注销期间使用"request.getSession(true)"创建了一个新会话,或者您有某种.jsp,其中包含以下行:

<% @page session="true" %>

这将创建一个新的Http会话,如果没有现有会话的话。这是不需要会话的"典型原因"之一。

若要查找问题,请启用会话跟踪。应用以下跟踪字符串:com.ibm.ws.session.=all:com.ws.webcontainer=all:com.ibm.wsspi.webcontainer*=all

发现这是WebSphere PMI stat 中的一个错误

最新更新