@Override public EmbeddedCacheManager createCacheManager() { final ConfigurationBuilder defaultConfiguration = getDefaultCacheConfiguration(true); defaultConfiguration.invocationBatching().enable().transaction().autoCommit(false); return TestCacheManagerFactory.createCacheManager(defaultConfiguration); }
private Configuration getRevisionCacheConfig(long maxEntries) { ConfigurationBuilder cb = new ConfigurationBuilder(); cb.invocationBatching().enable().transaction().transactionMode(TransactionMode.TRANSACTIONAL); // Use Embedded manager even in managed ( wildfly/eap ) environment. We don't want infinispan to participate in global transaction cb.transaction().transactionManagerLookup(new EmbeddedTransactionManagerLookup()); cb.transaction().lockingMode(LockingMode.PESSIMISTIC); cb.memory() .evictionStrategy(EvictionStrategy.REMOVE) .evictionType(EvictionType.COUNT) .size(maxEntries); return cb.build(); }
static AdvancedCache getTargetCache(EmbeddedCacheManager manager, Properties properties) { StoreProperties props = new StoreProperties(TARGET, properties); ConfigurationBuilder configBuilder = new ConfigurationBuilder(); String segmentCountString = props.get(SEGMENT_COUNT); // 0 means not enabled int segmentCount = 0; if (segmentCountString != null) { segmentCount = Integer.parseInt(segmentCountString); if (segmentCount < 0) { throw new IllegalArgumentException("Segment count must be > 0"); } } if (segmentCount > 0) { configBuilder.clustering().hash().numSegments(segmentCount); } configBuilder.persistence().addStore(getInitializedStoreBuilder(props)) .purgeOnStartup(true) .segmented(segmentCount > 0); configBuilder.invocationBatching().transaction() .transactionMode(TransactionMode.TRANSACTIONAL) .transactionManagerLookup(new EmbeddedTransactionManagerLookup()); String cacheName = props.cacheName(); manager.defineConfiguration(cacheName, configBuilder.build()); return manager.getCache(cacheName).getAdvancedCache().withFlags(Flag.SKIP_CACHE_LOAD); }