/** * @param gridName Grid name. * @return Cache configuration. * @throws Exception In case of error. */ @SuppressWarnings("unchecked") protected CacheConfiguration cacheConfiguration(String gridName) throws Exception { CacheConfiguration cfg = defaultCacheConfiguration(); CacheStore<?, ?> store = cacheStore(); if (store != null) { cfg.setCacheStoreFactory(new TestStoreFactory()); cfg.setReadThrough(true); cfg.setWriteThrough(true); cfg.setLoadPreviousValue(true); } cfg.setSwapEnabled(swapEnabled()); cfg.setCacheMode(cacheMode()); cfg.setAtomicityMode(atomicityMode()); cfg.setWriteSynchronizationMode(writeSynchronization()); cfg.setNearConfiguration(nearConfiguration()); Class<?>[] idxTypes = indexedTypes(); if (!F.isEmpty(idxTypes)) cfg.setIndexedTypes(idxTypes); if (cacheMode() == PARTITIONED) cfg.setBackups(1); return cfg; }
/** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { IgniteConfiguration c = super.getConfiguration(gridName); TransactionConfiguration txCfg = c.getTransactionConfiguration(); txCfg.setDefaultTxConcurrency(txConcurrency); txCfg.setDefaultTxIsolation(txIsolation); txCfg.setTxSerializableEnabled(true); CacheConfiguration cc = defaultCacheConfiguration(); cc.setCacheMode(cacheMode()); cc.setAtomicityMode(TRANSACTIONAL); cc.setSwapEnabled(false); cc.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); cc.setEvictionPolicy(plc); cc.setEvictSynchronizedKeyBufferSize(1); cc.setEvictSynchronized(true); if (testStore != null) { cc.setCacheStoreFactory(singletonFactory(testStore)); cc.setReadThrough(true); cc.setWriteThrough(true); cc.setLoadPreviousValue(true); } else cc.setCacheStoreFactory(null); c.setCacheConfiguration(cc); TcpDiscoverySpi disco = new TcpDiscoverySpi(); disco.setIpFinder(ipFinder); c.setDiscoverySpi(disco); return c; }