[jboss-cvs] JBossAS SVN: r110787 - trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/session.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Feb 25 13:50:09 EST 2011
Author: pferraro
Date: 2011-02-25 13:50:09 -0500 (Fri, 25 Feb 2011)
New Revision: 110787
Modified:
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheManager.java
Log:
JBAS-8912 JBossCacheManager.listSessionIds() not accurate when using DIST
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheManager.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheManager.java 2011-02-25 18:04:01 UTC (rev 110786)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheManager.java 2011-02-25 18:50:09 UTC (rev 110787)
@@ -23,10 +23,13 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.ServiceLoader;
import java.util.Set;
@@ -1157,7 +1160,9 @@
*/
public String listLocalSessionIds()
{
- return reportSessionIds(sessions_.keySet());
+ List<String> ids = new ArrayList<String>(sessions_.size());
+ this.addLocal(ids, sessions_.keySet());
+ return reportSessionIds(ids);
}
/**
@@ -1165,11 +1170,25 @@
*/
public String listSessionIds()
{
- Set<String> ids = new HashSet<String>(sessions_.keySet());
- ids.addAll(unloadedSessions_.keySet());
+ Set<String> ids = new HashSet<String>();
+
+ this.addLocal(ids, sessions_.keySet());
+ this.addLocal(ids, unloadedSessions_.keySet());
+
return reportSessionIds(ids);
}
+ private void addLocal(Collection<String> localIds, Collection<String> ids)
+ {
+ for (String id: ids)
+ {
+ if (this.proxy_.isLocal(id))
+ {
+ localIds.add(id);
+ }
+ }
+ }
+
// --------------------------------------- LocalDistributableSessionManager
public String getContextName()
@@ -2739,9 +2758,9 @@
return (getUseJK() ? Util.getRealId(id) : id);
}
- private String reportSessionIds(Set<String> ids)
+ private String reportSessionIds(Collection<String> ids)
{
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
boolean added = false;
for (String id : ids)
{
More information about the jboss-cvs-commits
mailing list