[jboss-cvs] JBossAS SVN: r72965 - trunk/cluster/src/main/org/jboss/ha/cachemanager.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu May 1 20:57:01 EDT 2008
Author: bstansberry at jboss.com
Date: 2008-05-01 20:57:00 -0400 (Thu, 01 May 2008)
New Revision: 72965
Modified:
trunk/cluster/src/main/org/jboss/ha/cachemanager/CacheManager.java
Log:
[JBAS-5501] CacheManager to support aliasing of caches
Modified: trunk/cluster/src/main/org/jboss/ha/cachemanager/CacheManager.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/cachemanager/CacheManager.java 2008-05-02 00:48:05 UTC (rev 72964)
+++ trunk/cluster/src/main/org/jboss/ha/cachemanager/CacheManager.java 2008-05-02 00:57:00 UTC (rev 72965)
@@ -86,6 +86,8 @@
private Map<String, Integer> pojoCacheCheckouts = new HashMap<String, Integer>();
+ private Map<String, String> configAliases = new HashMap<String, String>();
+
private boolean registerCachesInJmx = true;
private String jndiName;
@@ -121,6 +123,8 @@
{
super(configFileName, factory);
}
+
+ // -------------------------------------------------------- PojoCacheManager
@SuppressWarnings("unchecked")
public Set<String> getConfigurationNames()
@@ -129,6 +133,7 @@
{
Set<String> configNames = super.getConfigurationNames();
configNames.addAll(getPojoCacheNames());
+ configNames.addAll(configAliases.keySet());
return configNames;
}
}
@@ -143,6 +148,9 @@
public PojoCache getPojoCache(String configName, boolean create) throws Exception
{
+ // Check if there's an alias involved
+ configName = resolveAlias(configName);
+
PojoCache cache = null;
synchronized (pojoCaches)
{
@@ -216,6 +224,9 @@
@Override
public Cache<Object, Object> getCache(String configName, boolean create) throws Exception
{
+ // Check if there's an alias involved
+ configName = resolveAlias(configName);
+
synchronized (pojoCaches)
{
if (create && pojoCaches.containsKey(configName))
@@ -264,6 +275,9 @@
@Override
public void releaseCache(String configName)
{
+ // Check if there's an alias involved
+ configName = resolveAlias(configName);
+
synchronized (pojoCaches)
{
if (pojoCaches.containsKey(configName))
@@ -449,7 +463,26 @@
}
+ public Map<String, String> getConfigAliases()
+ {
+ synchronized (configAliases)
+ {
+ return new HashMap<String, String>(configAliases);
+ }
+ }
+ public void setConfigAliases(Map<String, String> aliases)
+ {
+ synchronized (configAliases)
+ {
+ configAliases.clear();
+ if (aliases != null)
+ configAliases.putAll(aliases);
+ }
+ }
+
+
+
// ------------------------------------------------------ MBeanRegistration
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
@@ -619,5 +652,11 @@
Reference ref = new Reference(classType.getName (), addr, NonSerializableFactory.class.getName (), null);
ctx.rebind (n.get (0), ref);
}
+
+ private String resolveAlias(String configName)
+ {
+ String alias = configAliases.get(configName);
+ return alias == null ? configName : alias;
+ }
}
More information about the jboss-cvs-commits
mailing list