[jboss-cvs] JBossAS SVN: r64882 - trunk/tomcat/src/main/org/jboss/web/tomcat/service/session.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Aug 26 10:35:52 EDT 2007


Author: bstansberry at jboss.com
Date: 2007-08-26 10:35:51 -0400 (Sun, 26 Aug 2007)
New Revision: 64882

Modified:
   trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheService.java
Log:
Add workaround to JBCACHE-1172

Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheService.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheService.java	2007-08-25 18:18:07 UTC (rev 64881)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheService.java	2007-08-26 14:35:51 UTC (rev 64882)
@@ -36,6 +36,7 @@
 import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.WeakHashMap;
+import java.util.Map.Entry;
 
 import javax.management.ObjectName;
 import javax.transaction.TransactionManager;
@@ -527,18 +528,37 @@
    {
       if (realId == null || realId.length() == 0) return new HashMap();
       
-      Map map = new HashMap();
-      Set set = getAttributeKeys(realId);
-      if(set != null)
+      Map attrs = new HashMap();
+//      Set set = getAttributeKeys(realId);
+//      if(set != null)
+//      {
+//         for (Iterator it = set.iterator(); it.hasNext();)
+//         {
+//            String key = (String) it.next();
+//            Object value = getAttribute(realId, key);
+//            map.put(key, value);
+//         }
+//      }
+      Fqn fqn = getAttributeFqn(realId);
+      
+      Node node = plainCache_.getRoot().getChild(fqn);
+      Map rawData = node.getData();
+
+      // FIXME Next block is a hack to work around JBCACHE-1172
+      // by forcing a load of data from the cache loader
+      if (rawData.size() == 0)
       {
-         for (Iterator it = set.iterator(); it.hasNext();)
-         {
-            String key = (String) it.next();
-            Object value = getAttribute(realId, key);
-            map.put(key, value);
-         }
+         plainCache_.get(fqn, new Object());
+         rawData = node.getData();
       }
-      return map;
+      
+      for (Iterator it = rawData.entrySet().iterator(); it.hasNext();)
+      {
+         Entry entry = (Entry) it.next();
+         attrs.put(entry.getKey(), getUnMarshalledValue(entry.getValue()));
+      }
+      
+      return attrs;
    }
 
    /**




More information about the jboss-cvs-commits mailing list