You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Radivoj Milin <lo...@prozone.co.yu> on 2005/07/06 13:21:32 UTC
There is a problem in 'SessionManager' implementation
Hi,
There is a problem in 'SessionManager' implementation regarding count of expired sessions.
In 'org.apache.catalina.session.ManagerBase' class:
For each session, method 'ManagerBase.processExpires()' calls ''org.apache.catalina.session.StandardSession.isValid()' method and increments number of expired session (in case that session isn`t valid)
...............
if (!sessions[i].isValid()) {
expiredSessions++;
expireHere++;
}
.............
But, 'StandardSession.isValid()' method triggers 'StandardSession.expire(true)' method in cases when session should be invalidated. This method also increments number of expired sessions ('SessionManager' attribute).
expire(boolean value)
.......
int numExpired = manager.getExpiredSessions();
numExpired++;
manager.setExpiredSessions(numExpired);
........
At the end, as result of session invalidation process, number of expired sessions is doubled.
Regards,
Radivoj Milin