[infinispan-commits] Infinispan SVN: r1465 - trunk/core/src/test/java/org/infinispan/loaders.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Mon Feb 8 07:50:42 EST 2010
Author: manik.surtani at jboss.com
Date: 2010-02-08 07:50:42 -0500 (Mon, 08 Feb 2010)
New Revision: 1465
Added:
trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTxTest.java
Log:
Test concurrent transaction commit + evictions
Copied: trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTxTest.java (from rev 1461, trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTest.java)
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTxTest.java (rev 0)
+++ trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTxTest.java 2010-02-08 12:50:42 UTC (rev 1465)
@@ -0,0 +1,49 @@
+package org.infinispan.loaders;
+
+import org.infinispan.config.CacheLoaderManagerConfig;
+import org.infinispan.config.Configuration;
+import org.infinispan.eviction.EvictionStrategy;
+import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
+import org.infinispan.manager.CacheManager;
+import org.infinispan.test.SingleCacheManagerTest;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.testng.annotations.Test;
+
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.NotSupportedException;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+import javax.transaction.TransactionManager;
+
+import static org.infinispan.test.TestingUtil.getTransactionManager;
+
+ at Test(groups = "functional", testName = "loaders.ConcurrentLoadAndEvictTxTest")
+public class ConcurrentLoadAndEvictTxTest extends SingleCacheManagerTest {
+
+ TransactionManager tm;
+
+ protected CacheManager createCacheManager() throws Exception {
+ Configuration config = new Configuration();
+ config.setEvictionStrategy(EvictionStrategy.FIFO);
+ config.setEvictionWakeUpInterval(10);
+ config.setEvictionMaxEntries(1);
+ CacheLoaderManagerConfig clmc = new CacheLoaderManagerConfig();
+ config.setCacheLoaderManagerConfig(clmc);
+ clmc.addCacheLoaderConfig(new DummyInMemoryCacheStore.Cfg());
+ CacheManager cm = TestCacheManagerFactory.createCacheManager(config, true);
+ cache = cm.getCache();
+ tm = getTransactionManager(cache);
+ return cm;
+ }
+
+ public void testEvictAndTx() throws SystemException, NotSupportedException, RollbackException, HeuristicRollbackException, HeuristicMixedException {
+ for (int i=0; i<10000; i++) {
+ tm.begin();
+ for (int j=0; j<10; j++) cache.put(String.format("key-%s-%s", i, j), "value");
+ tm.commit();
+ for (int j=0; j<10; j++) assert "value".equals(cache.get(String.format("key-%s-%s", i, j))) : "Data loss on key " + String.format("key-%s-%s", i, j);
+ }
+ }
+
+}
\ No newline at end of file
More information about the infinispan-commits
mailing list