Author: markt Date: Wed Dec 30 11:30:01 2009 New Revision: 894591 URL: http://svn.apache.org/viewvc?rev=894591&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48345 Patch provided by Keiichi Fujino
Modified: tomcat/trunk/java/org/apache/catalina/session/StoreBase.java Modified: tomcat/trunk/java/org/apache/catalina/session/StoreBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StoreBase.java?rev=894591&r1=894590&r2=894591&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/StoreBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/StoreBase.java Wed Dec 30 11:30:01 2009 @@ -188,14 +188,17 @@ if (manager.getContainer().getLogger().isDebugEnabled()) { manager.getContainer().getLogger().debug(getStoreName()+ ": processExpires check number of " + keys.length + " sessions" ); } - + + long timeNow = System.currentTimeMillis(); + for (int i = 0; i < keys.length; i++) { try { StandardSession session = (StandardSession) load(keys[i]); if (session == null) { continue; } - if (session.isValid()) { + int timeIdle = (int) ((timeNow - session.getThisAccessedTime()) / 1000L); + if (timeIdle < session.getMaxInactiveInterval()) { continue; } if (manager.getContainer().getLogger().isDebugEnabled()) { @@ -208,7 +211,7 @@ // expire swapped out session session.expire(); } - remove(session.getIdInternal()); + remove(keys[i]); } catch (Exception e) { manager.getContainer().getLogger().error("Session: "+keys[i]+"; ", e); try { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org