[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