package test; import org.infinispan.Cache; import org.infinispan.config.Configuration; import org.infinispan.eviction.EvictionStrategy; import org.infinispan.loaders.jdbm.JdbmCacheStoreConfig; import org.infinispan.manager.DefaultCacheManager; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import java.io.File; /** * Created by IntelliJ IDEA. * User: nardonep * Date: 03-Aug-2010 * Time: 07:42:07 */ public class InfinispanPassivationTest { private static DefaultCacheManager defaultCacheManager; @BeforeClass public static void setup(){ Configuration ccl=new Configuration(); ccl.setCacheMode(Configuration.CacheMode.LOCAL); JdbmCacheStoreConfig cacheStoreConfig; defaultCacheManager=new DefaultCacheManager(ccl); Configuration cclPassivationbackLRU10=new Configuration(); cacheStoreConfig = new JdbmCacheStoreConfig(); File dir10 = new File("C:\\TEMP\\InfinispanPassivationTest\\PASSIVATIONLRU10\\"); dir10.mkdirs(); for(File f : dir10.listFiles()){ f.delete(); } cacheStoreConfig.setLocation(dir10.getAbsolutePath()); cacheStoreConfig.setPurgeOnStartup(Boolean.TRUE); cclPassivationbackLRU10.getCacheLoaderManagerConfig().addCacheLoaderConfig(cacheStoreConfig); cclPassivationbackLRU10.getCacheLoaderManagerConfig().setPassivation(Boolean.TRUE); cclPassivationbackLRU10.setEvictionStrategy(EvictionStrategy.LRU); cclPassivationbackLRU10.setEvictionMaxEntries(10); defaultCacheManager.defineConfiguration("PASSIVATIONLRU10",cclPassivationbackLRU10); Configuration cclPassivationbackLRU1000=new Configuration(); cacheStoreConfig = new JdbmCacheStoreConfig(); File dir1000 = new File("C:\\TEMP\\InfinispanPassivationTest\\PASSIVATIONLRU1000\\"); dir1000.mkdirs(); for(File f : dir1000.listFiles()){ f.delete(); } cacheStoreConfig.setLocation(dir1000.getAbsolutePath()); cacheStoreConfig.setPurgeOnStartup(Boolean.TRUE); cclPassivationbackLRU10.getCacheLoaderManagerConfig().addCacheLoaderConfig(cacheStoreConfig); cclPassivationbackLRU10.getCacheLoaderManagerConfig().setPassivation(Boolean.TRUE); cclPassivationbackLRU10.setEvictionStrategy(EvictionStrategy.LRU); cclPassivationbackLRU10.setEvictionMaxEntries(1000); defaultCacheManager.defineConfiguration("PASSIVATIONLRU1000",cclPassivationbackLRU10); } @Test public void testPassivationLRU10(){ runTest("PASSIVATIONLRU10",false); } @Test public void testPassivationLRU1000(){ runTest("PASSIVATIONLRU1000",false); } private void runTest(String n,boolean doget) { Cache testCache=defaultCacheManager.getCache(n); testCache.clear(); try { long timeTaken=System.currentTimeMillis(); timeTaken=System.currentTimeMillis(); for(int i=0;i<1000;i++){ testCache.put(Integer.toString(i),"4567"); } timeTaken=System.currentTimeMillis()-timeTaken; System.out.println(String.format("%1$s Time Taken : %2$d",n,timeTaken)); } catch (Exception e) { throw new RuntimeException(e); } } }