Author: markt
Date: Mon Sep 10 13:49:03 2012
New Revision: 1382842
URL: http://svn.apache.org/viewvc?rev=1382842&view=rev
Log:
Take account of clusters and persistent session managers when checking if all
sessions have expired.
Modified:
tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1382842&r1=1382841&r2=1382842&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Mon Sep 10
13:49:03 2012
@@ -47,6 +47,7 @@ import javax.management.ObjectName;
import org.apache.catalina.Container;
import org.apache.catalina.Context;
+import org.apache.catalina.DistributedManager;
import org.apache.catalina.Host;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
@@ -1429,21 +1430,31 @@ public class HostConfig
currentContext.getState().isAvailable() &&
!isServiced(previous.getName())) {
Manager manager = previousContext.getManager();
- if (manager != null && manager.getActiveSessions() == 0) {
- if (log.isInfoEnabled()) {
- log.info(sm.getString("hostConfig.undeployVersion",
- previous.getName()));
+ if (manager != null) {
+ int sessionCount;
+ if (manager instanceof DistributedManager) {
+ sessionCount = ((DistributedManager)
+ manager).getActiveSessionsFull();
+ } else {
+ sessionCount = manager.getActiveSessions();
+ }
+ if (sessionCount == 0) {
+ if (log.isInfoEnabled()) {
+ log.info(sm.getString(
+ "hostConfig.undeployVersion",
+ previous.getName()));
+ }
+ DeployedApplication app =
+ deployed.get(previous.getName());
+ String[] resources =
+ app.redeployResources.keySet().toArray(
+ new String[0]);
+ // Version is unused - undeploy it completely
+ // The -1 is a 'trick' to ensure all redeploy
+ // resources are removed
+ deleteRedeployResources(app, resources, -1,
+ true);
}
- DeployedApplication app =
- deployed.get(previous.getName());
- String[] resources =
- app.redeployResources.keySet().toArray(
- new String[0]);
- // Version is unused - undeploy it completely
- // The -1 is a 'trick' to ensure all redeploy resources
- // are removed
- deleteRedeployResources(app, resources, -1,
- true);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]