Author: pero Date: Sat Jan 26 11:52:28 2008 New Revision: 615478 URL: http://svn.apache.org/viewvc?rev=615478&view=rev Log: Fix ManagerServlet.exipreSession throws Exceptions as iterate longer session lists at production servers.
Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/LocalStrings.properties tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=615478&r1=615477&r2=615478&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Sat Jan 26 11:52:28 2008 @@ -38,17 +38,6 @@ -1: remm: I believe it would need specific support for certain managers. Interested users could use their own extended manager instead. -* Fix ManagerServlet.expireSessions throws Exceptions as iterate longer session lists - at production servers. - http://svn.apache.org/viewvc?rev=612988&view=rev - +1: pero, rjung, remm - -1: - rjung: as pero wrote: the patch contains - - r612944 fixed in HTMLManager but not in Manager - - a fix aiaginst an exception when listing session idle time - histogram and at least one session timed out since last - run of invalidation background task - * Fix http://issues.apache.org/bugzilla/show_bug.cgi?id=44223 Add support for remaining truststore system property Not essential for 6.0.16. Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/LocalStrings.properties?rev=615478&r1=615477&r2=615478&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/LocalStrings.properties (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/LocalStrings.properties Sat Jan 26 11:52:28 2008 @@ -73,6 +73,7 @@ managerServlet.noDirectory=FAIL - Non-directory document base for path {0} managerServlet.noDocBase=FAIL - Cannot undeploy document base for path {0} managerServlet.noGlobal=FAIL - No global JNDI resources are available +managerServlet.noManager=FAIL - No manager exists for path {0} managerServlet.noReload=FAIL - Reload not supported on WAR deployed at path {0} managerServlet.noRename=FAIL - Cannot deploy uploaded WAR for path {0} managerServlet.noRole=FAIL - User does not possess role {0} Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=615478&r1=615477&r2=615478&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java Sat Jan 26 11:52:28 2008 @@ -47,6 +47,7 @@ import org.apache.catalina.Globals; import org.apache.catalina.Host; import org.apache.catalina.Lifecycle; +import org.apache.catalina.Manager; import org.apache.catalina.Role; import org.apache.catalina.Server; import org.apache.catalina.ServerFactory; @@ -1115,8 +1116,14 @@ RequestUtil.filter(displayPath))); return; } + Manager manager = context.getManager() ; + if(manager == null) { + writer.println(sm.getString("managerServlet.noManager", + RequestUtil.filter(displayPath))); + return; + } int maxCount = 60; - int maxInactiveInterval = context.getManager().getMaxInactiveInterval()/60; + int maxInactiveInterval = manager.getMaxInactiveInterval()/60; int histoInterval = maxInactiveInterval / maxCount; if ( histoInterval * maxCount < maxInactiveInterval ) histoInterval++; @@ -1127,13 +1134,13 @@ writer.println(sm.getString("managerServlet.sessions", displayPath)); writer.println(sm.getString("managerServlet.sessiondefaultmax", "" + maxInactiveInterval)); - Session [] sessions = context.getManager().findSessions(); + Session [] sessions = manager.findSessions(); int [] timeout = new int[maxCount]; int notimeout = 0; int expired = 0; long now = System.currentTimeMillis(); for (int i = 0; i < sessions.length; i++) { - int time = (int)((now-sessions[i].getLastAccessedTime())/1000); + int time = (int)((now-sessions[i].getLastAccessedTimeInternal())/1000); if (idle >= 0 && time >= idle*60) { sessions[i].expire(); idle++; Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=615478&r1=615477&r2=615478&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sat Jan 26 11:52:28 2008 @@ -100,6 +100,10 @@ </subsection> <subsection name="Catalina"> <changelog> + <fix> + Fix ManagerServlet.exipreSession throws Exceptions as iterate longer + session lists at production servers. (pero) + </fix> <fix><bug>38131</bug>: WatchedResource doesn't work if app is outside host appbase webapps. Patch provided by Peter Lynch (pero) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]