[jboss-cvs] JBossAS SVN: r107072 - projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 23 19:10:04 EDT 2010
Author: pferraro
Date: 2010-07-23 19:10:04 -0400 (Fri, 23 Jul 2010)
New Revision: 107072
Modified:
projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java
Log:
Add singleton accessor - replaces CacheManagerLocator.
Modified: projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java 2010-07-23 20:16:01 UTC (rev 107071)
+++ projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java 2010-07-23 23:10:04 UTC (rev 107072)
@@ -28,6 +28,7 @@
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicReference;
import javax.naming.Context;
import javax.naming.InitialContext;
@@ -49,11 +50,20 @@
{
private static Logger logger = Logger.getLogger(DefaultCacheContainerRegistry.class);
+ private static final AtomicReference<CacheContainerRegistry> singleton = new AtomicReference<CacheContainerRegistry>();
+
+ public static CacheContainerRegistry getInstance()
+ {
+ CacheContainerRegistry registry = singleton.get();
+ if (registry == null) throw new IllegalStateException("");
+ return registry;
+ }
+
private final CacheContainerFactory factory;
private final CacheContainerRegistryConfigurationSource source;
private final Context context;
private final Map<String, Map.Entry<String, CacheContainer>> containers = new ConcurrentHashMap<String, Map.Entry<String, CacheContainer>>();
-
+
private CacheContainer defaultContainer;
/**
@@ -102,10 +112,14 @@
}
this.defaultContainer = this.containers.get(defaultEntry.getId()).getValue();
+
+ singleton.compareAndSet(null, this);
}
public void stop() throws Exception
{
+ singleton.set(null);
+
for (Map.Entry<String, CacheContainer> entry: this.containers.values())
{
try
More information about the jboss-cvs-commits
mailing list