在我的java项目web.xml中,会话超时参数设置为5分钟。 5分钟后,所有会话对象终止还是仍然是内存?
答案 0 :(得分:0)
我曾经遇到过同样的问题所以我检查了tomcat的源代码。我没有检查所有内容,但我会尽我所能。有一个StandardSession类有很多方法,两种方法都与此有关。
expire()
,它将isValid变量更新为false。recycle()
可清除所有属性并重置许多属性,例如lastAccessedTime
,maxInactiveInterval
等。现在我假设在会话超时时调用这些方法。所以它不会杀死它们,它会回收它们。
我进入了会话管理器ManagerBase,看它是不是它的功能。每当新请求到来时,都会调用以下方法(在此之前几乎没有其他方法调用)。
/**
* Get a session from the recycled ones or create a new empty one.
* The PersistentManager manager does not need to create session data
* because it reads it from the Store.
*/
@Override
public Session createEmptySession() {
return (getNewSession());
}