[jboss-cvs] JBossAS SVN: r107985 - 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
Fri Sep 3 14:08:59 EDT 2010
Author: pferraro
Date: 2010-09-03 14:08:59 -0400 (Fri, 03 Sep 2010)
New Revision: 107985
Modified:
projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DistributedCacheManager.java
Log:
Don't cause stop() to fail if jvm route cache entry removal fails.
Modified: projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DistributedCacheManager.java
===================================================================
--- projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DistributedCacheManager.java 2010-09-03 16:05:23 UTC (rev 107984)
+++ projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/web/tomcat/service/session/distributedcache/ispn/DistributedCacheManager.java 2010-09-03 18:08:59 UTC (rev 107985)
@@ -29,6 +29,7 @@
import org.infinispan.AdvancedCache;
import org.infinispan.Cache;
+import org.infinispan.CacheException;
import org.infinispan.atomic.AtomicMap;
import org.infinispan.config.CacheLoaderManagerConfig;
import org.infinispan.context.Flag;
@@ -170,9 +171,16 @@
if (this.cache.getConfiguration().getCacheMode().isDistributed())
{
EmbeddedCacheManager container = (EmbeddedCacheManager) this.cache.getCacheManager();
+ Address address = container.getAddress();
+ try
+ {
+ this.getJvmRouteCache().remove(address);
+ }
+ catch (CacheException e)
+ {
+ log.warn("Failed to remove " + address + " jvm route entry from from web session cache", e);
+ }
- this.getJvmRouteCache().remove(container.getAddress());
-
container.removeListener(this);
}
@@ -567,15 +575,27 @@
{
if (!newMembers.contains(member))
{
- this.getJvmRouteCache().remove(member);
+ if (this.getJvmRouteCache().remove(member) != null)
+ {
+ log.info("Removed stale jvm route entry from web session cache on behalf of member " + member);
+ }
}
}
- // Restore our jvm route in cache if we are new
+ // Restore our jvm route in cache if we are joining (result of a split/merge)
Address localAddress = event.getLocalAddress();
if (!oldMembers.contains(localAddress) && newMembers.contains(localAddress))
{
- this.getJvmRouteCache().put(localAddress, this.manager.getJvmRoute());
+ String jvmRoute = this.manager.getJvmRoute();
+ String oldJvmRoute = this.getJvmRouteCache().put(localAddress, jvmRoute);
+ if (oldJvmRoute == null)
+ {
+ log.info("Adding missing jvm route entry to web session cache");
+ }
+ else if (!oldJvmRoute.equals(jvmRoute))
+ {
+ log.info("Updating jvm route entry in web session cache. old = " + oldJvmRoute + ", new = " + jvmRoute);
+ }
}
}
More information about the jboss-cvs-commits
mailing list