[jboss-cvs] JBossAS SVN: r108839 - projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Oct 23 02:15:25 EDT 2010


Author: pferraro
Date: 2010-10-23 02:15:24 -0400 (Sat, 23 Oct 2010)
New Revision: 108839

Modified:
   projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DefaultLockManagerSource.java
Log:
Store lock managers in static map, not instance map.

Modified: projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DefaultLockManagerSource.java
===================================================================
--- projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DefaultLockManagerSource.java	2010-10-22 21:28:48 UTC (rev 108838)
+++ projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DefaultLockManagerSource.java	2010-10-23 06:15:24 UTC (rev 108839)
@@ -49,7 +49,7 @@
    
    private static final Logger log = Logger.getLogger(DefaultLockManagerSource.class);
    
-   private final Map<String, LockManagerEntry> lockManagers = new HashMap<String, LockManagerEntry>();
+   private static final Map<String, LockManagerEntry> lockManagers = new HashMap<String, LockManagerEntry>();
    
    /**
     * {@inheritDoc}
@@ -58,24 +58,28 @@
    @Override
    public SharedLocalYieldingClusterLockManager getLockManager(Cache<?, ?> cache)
    {
-      if (cache.getConfiguration().getCacheMode().isClustered()) return null;
+      if (!cache.getConfiguration().getCacheMode().isClustered()) return null;
       
       EmbeddedCacheManager container = (EmbeddedCacheManager) cache.getCacheManager();
       String clusterName = container.getGlobalConfiguration().getClusterName();
       
-      synchronized (this.lockManagers)
+      synchronized (lockManagers)
       {
-         LockManagerEntry entry = this.lockManagers.get(clusterName);
+         LockManagerEntry entry = lockManagers.get(clusterName);
          
          if (entry == null)
          {
+            trace("Starting lock manager for cluster %s", clusterName);
+            
             entry = new LockManagerEntry(cache);
             
             container.addListener(this);
             
-            this.lockManagers.put(clusterName, entry);
+            lockManagers.put(clusterName, entry);
          }
-
+         
+         trace("Registering %s with lock manager for cluster %s", cache.getName(), clusterName);
+         
          entry.addCache(cache.getName());
          
          return entry.getLockManager();
@@ -164,18 +168,30 @@
    {
       String clusterName = event.getCacheManager().getGlobalConfiguration().getClusterName();
       
-      synchronized (this.lockManagers)
+      synchronized (lockManagers)
       {
-         LockManagerEntry entry = this.lockManagers.get(clusterName);
+         LockManagerEntry entry = lockManagers.get(clusterName);
          
          if (entry != null)
          {
+            trace("Deregistering %s from lock manager for cluster %s", event.getCacheName(), clusterName);
+            
             // Returns true if this was the last cache
             if (entry.removeCache(event.getCacheName()))
             {
-               this.lockManagers.remove(clusterName);
+               trace("Stopped lock manager for cluster %s", clusterName);
+               
+               lockManagers.remove(clusterName);
             }
          }
       }
    }
+   
+   private static void trace(String message, Object... args)
+   {
+      if (log.isTraceEnabled())
+      {
+         log.trace(String.format(message, args));
+      }
+   }
 }



More information about the jboss-cvs-commits mailing list