[jbosscache-commits] JBoss Cache SVN: r5573 - in core/trunk/src: main/java/org/jboss/cache/loader and 1 other directories.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Wed Apr 16 06:26:17 EDT 2008
Author: manik.surtani at jboss.com
Date: 2008-04-16 06:26:17 -0400 (Wed, 16 Apr 2008)
New Revision: 5573
Modified:
core/trunk/src/main/java/org/jboss/cache/commands/CommandsFactory.java
core/trunk/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java
core/trunk/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java
core/trunk/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java
core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java
Log:
Fixed broken clustered cache loader
Modified: core/trunk/src/main/java/org/jboss/cache/commands/CommandsFactory.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/CommandsFactory.java 2008-04-15 16:50:16 UTC (rev 5572)
+++ core/trunk/src/main/java/org/jboss/cache/commands/CommandsFactory.java 2008-04-16 10:26:17 UTC (rev 5573)
@@ -361,10 +361,15 @@
case ReplicateCommand.SINGLE_METHOD_ID:
returnValue = new ReplicateCommand();
break;
+
case InvalidateCommand.METHOD_ID:
returnValue = new InvalidateCommand();
break;
+ case ClusteredGetCommand.METHOD_ID:
+ returnValue = new ClusteredGetCommand();
+ break;
+
default:
throw new CacheException("Unknown command id " + id + "!");
}
Modified: core/trunk/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java 2008-04-15 16:50:16 UTC (rev 5572)
+++ core/trunk/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java 2008-04-16 10:26:17 UTC (rev 5573)
@@ -16,6 +16,7 @@
import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig.SingletonStoreConfig;
import org.jboss.cache.config.Configuration;
+import org.jboss.cache.factories.ComponentRegistry;
import org.jboss.cache.factories.annotations.Inject;
import org.jboss.cache.factories.annotations.Start;
import org.jboss.cache.factories.annotations.Stop;
@@ -71,14 +72,16 @@
private boolean fetchPersistentState;
private Configuration configuration;
private RegionManager regionManager;
+ private ComponentRegistry registry;
@Inject
- public void injectDependencies(CacheSPI cache, Configuration configuration, RegionManager regionManager)
+ public void injectDependencies(CacheSPI cache, Configuration configuration, RegionManager regionManager, ComponentRegistry registry)
{
this.regionManager = regionManager;
this.config = configuration.getCacheLoaderConfig();
this.cache = cache;
this.configuration = configuration;
+ this.registry = registry;
if (config != null)
{
@@ -423,6 +426,9 @@
{
try
{
+ // wire any deps.
+ registry.wireDependencies(loader);
+
// create the cache loader
loader.create();
// start the cache loader
Modified: core/trunk/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java 2008-04-15 16:50:16 UTC (rev 5572)
+++ core/trunk/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java 2008-04-16 10:26:17 UTC (rev 5573)
@@ -11,6 +11,8 @@
import org.jboss.cache.RegionManager;
import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.cache.factories.ComponentRegistry;
+import org.jboss.cache.factories.annotations.Inject;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -35,6 +37,7 @@
private final List<CacheLoader> cacheLoaders = new ArrayList<CacheLoader>(2);
private final List<CacheLoader> writeCacheLoaders = new ArrayList<CacheLoader>(2);
private final List<CacheLoaderConfig.IndividualCacheLoaderConfig> cacheLoaderConfigs = new ArrayList<CacheLoaderConfig.IndividualCacheLoaderConfig>(2);
+ private ComponentRegistry registry;
/**
* Sets the configuration. Will be called before {@link #create()} and {@link #start()}
@@ -51,6 +54,13 @@
return null;
}
+ @Inject
+ public void injectDependencies(ComponentRegistry registry)
+ {
+ this.registry = registry;
+ }
+
+
/**
* Returns a list of children names, all names are <em>relative</em>. Returns null if the parent node is not found.
* The returned set must not be modified, e.g. use Collections.unmodifiableSet(s) to return the result
@@ -275,6 +285,7 @@
CacheLoader cl = it.next();
CacheLoaderConfig.IndividualCacheLoaderConfig cfg = cfgIt.next();
cl.setConfig(cfg);
+ registry.wireDependencies(cl);
cl.create();
}
}
Modified: core/trunk/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java 2008-04-15 16:50:16 UTC (rev 5572)
+++ core/trunk/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java 2008-04-16 10:26:17 UTC (rev 5573)
@@ -9,11 +9,20 @@
import net.jcip.annotations.ThreadSafe;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.*;
+import org.jboss.cache.CacheStatus;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.Modification;
+import org.jboss.cache.NodeSPI;
+import org.jboss.cache.RegionManager;
import org.jboss.cache.commands.CommandsFactory;
-import org.jboss.cache.commands.cachedata.*;
+import org.jboss.cache.commands.cachedata.CacheDataCommand;
+import org.jboss.cache.commands.cachedata.ExistsNodeCommand;
+import org.jboss.cache.commands.cachedata.GetChildrenNamesCommand;
+import org.jboss.cache.commands.cachedata.GetDataMapCommand;
+import org.jboss.cache.commands.cachedata.GetKeyValueCommand;
import org.jboss.cache.commands.remote.ClusteredGetCommand;
import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.cache.factories.annotations.Inject;
import org.jboss.cache.lock.StripedLock;
import org.jgroups.Address;
import org.jgroups.blocks.GroupRequest;
@@ -21,7 +30,12 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* A cache loader that consults other members in the cluster for values. Does
@@ -51,6 +65,12 @@
return cache.getCacheStatus() == CacheStatus.STARTED;
}
+ @Inject
+ public void setCommandsFactory(CommandsFactory commandsFactory)
+ {
+ this.commandsFactory = commandsFactory;
+ }
+
/**
* Sets the configuration.
* A property <code>timeout</code> is used as the timeout value.
@@ -99,7 +119,8 @@
if (resps == null)
{
- if (log.isInfoEnabled()) log.info("No replies to call " + dataCommand + ". Perhaps we're alone in the cluster?");
+ if (log.isInfoEnabled())
+ log.info("No replies to call " + dataCommand + ". Perhaps we're alone in the cluster?");
return null;
}
else
Modified: core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java 2008-04-15 16:50:16 UTC (rev 5572)
+++ core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java 2008-04-16 10:26:17 UTC (rev 5573)
@@ -245,7 +245,7 @@
cache2.put(fqn, "k", "v");
cache1.evict(fqn);
}
- final int loops = 1000;
+ final int loops = 300; // was 1000
final Set<Exception> exceptions = new CopyOnWriteArraySet<Exception>();
Thread evictor = new Thread("Evictor")
More information about the jbosscache-commits
mailing list