Author: pero Date: Thu Jan 17 13:34:33 2008 New Revision: 612988 URL: http://svn.apache.org/viewvc?rev=612988&view=rev Log: Fix ManagerServlet.exipreSession throws Exceptions as iterate longer session lists at production servers.
Modified: tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties?rev=612988&r1=612987&r2=612988&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties Thu Jan 17 13:34:33 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/trunk/java/org/apache/catalina/manager/ManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=612988&r1=612987&r2=612988&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java Thu Jan 17 13:34:33 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/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=612988&r1=612987&r2=612988&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Jan 17 13:34:33 2008 @@ -46,6 +46,9 @@ </subsection> <subsection name="Catalina"> <changelog> + <fix> + Fix ManagerServlet.exipreSession throws Exceptions as iterate longer session lists at production servers (pero) + </fix> <add> Add ManagerBase session getLastAccessedTimestamp and getCreationTimestamp for better remote JMX access. (pero) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]