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]