[jbosscache-commits] JBoss Cache SVN: r7416 - core/trunk/src/test/java/org/jboss/cache/buddyreplication.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Thu Jan 8 16:15:29 EST 2009


Author: mircea.markus
Date: 2009-01-08 16:15:28 -0500 (Thu, 08 Jan 2009)
New Revision: 7416

Modified:
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java
Log:
more strict replication controll

Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java	2009-01-08 17:09:54 UTC (rev 7415)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java	2009-01-08 21:15:28 UTC (rev 7416)
@@ -10,6 +10,7 @@
 import org.jboss.cache.CacheSPI;
 import org.jboss.cache.Fqn;
 import org.jboss.cache.UnitTestCacheFactory;
+import org.jboss.cache.commands.remote.DataGravitationCleanupCommand;
 import org.jboss.cache.config.Configuration;
 import org.jboss.cache.config.EvictionConfig;
 import org.jboss.cache.config.EvictionRegionConfig;
@@ -18,6 +19,7 @@
 import org.jboss.cache.util.TestingUtil;
 import static org.jboss.cache.util.TestingUtil.dumpCacheContents;
 import org.jboss.cache.util.internals.EvictionController;
+import org.jboss.cache.util.internals.replicationlisteners.ReplicationListener;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertTrue;
 import org.testng.annotations.Test;
@@ -34,7 +36,6 @@
 @Test(groups = "functional", testName = "buddyreplication.BuddyReplicationWithCacheLoaderTest")
 public class BuddyReplicationWithCacheLoaderTest extends BuddyReplicationTestsBase
 {
-
    protected Fqn fqn = Fqn.fromString("/test/br/four/level");
    protected String key = "key";
    protected String value = "value";
@@ -69,6 +70,8 @@
       // create 3 cachePool
       List<CacheSPI<Object, Object>> caches = createCachesWithCacheLoader(3, autoGravitate, true, passivation);
       cachesTL.set(caches);
+      ReplicationListener replListener0 = ReplicationListener.getReplicationListener(caches.get(0));
+      ReplicationListener replListener1 = ReplicationListener.getReplicationListener(caches.get(1));
 
       CacheLoader[] loaders = getLoaders(caches);
 
@@ -86,9 +89,13 @@
       if (!autoGravitate)
          caches.get(2).getInvocationContext().getOptionOverrides().setForceDataGravitation(true);
 
+      replListener0.expect(DataGravitationCleanupCommand.class);
+      replListener1.expect(DataGravitationCleanupCommand.class);
       // should cause a gravitation event
       assertEquals(value, caches.get(2).get(fqn, key));
-      cleanupDelay(); // gravitation cleanup is async!!
+      replListener0.waitForReplicationToOccur();
+      replListener1.waitForReplicationToOccur();
+
       assertNoLocks(caches);
 
       dumpCacheContents(caches);
@@ -167,6 +174,9 @@
    {
       // create 3 cachePool
       List<CacheSPI<Object, Object>> caches = createCachesWithCacheLoader(3, autoGravitate, false, passivation);
+      ReplicationListener replListener0 = ReplicationListener.getReplicationListener(caches.get(0));
+      ReplicationListener replListener1 = ReplicationListener.getReplicationListener(caches.get(1));
+      
       cachesTL.set(caches);
       CacheLoader[] loaders = getLoaders(caches);
       Fqn b1 = fqnTransformer.getBackupFqn(caches.get(0).getLocalAddress(), fqn);
@@ -174,15 +184,19 @@
       // put stuff in cache0
       caches.get(0).put(fqn, key, value);
 
-      Map m = loaders[1].get(b1);
       // request data from cache2
       if (!autoGravitate)
          caches.get(2).getInvocationContext().getOptionOverrides().setForceDataGravitation(true);
 
       // should cause a gravitation event
+      replListener0.expect(DataGravitationCleanupCommand.class);
+      replListener1.expect(DataGravitationCleanupCommand.class);
       assertEquals(value, caches.get(2).get(fqn, key));
-      cleanupDelay(); // gravitation is async!!
+      replListener0.waitForReplicationToOccur();
+      replListener1.waitForReplicationToOccur();            
 
+//      USE REPLICATION LISTENERS!!!!
+
       // test that data does not exist in cache0
       assertTrue("should not exist in cache0", !caches.get(0).exists(fqn));
 
@@ -347,9 +361,4 @@
       ec.setDefaultEvictionRegionConfig(erc);
       cfg.setEvictionConfig(ec);
    }
-
-   private void cleanupDelay()
-   {
-      TestingUtil.sleepThread(250);
-   }
 }




More information about the jbosscache-commits mailing list