[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