@Override protected void createCacheManagers() throws Throwable { ConfigurationBuilder localBuilder = new ConfigurationBuilder(); configureCache(localBuilder); createClusteredCaches(numNodes, localBuilder); // Create distributed caches ConfigurationBuilder distBuilder = new ConfigurationBuilder(); distBuilder.clustering().cacheMode(isSync ? CacheMode.DIST_SYNC : CacheMode.DIST_ASYNC).hash().numOwners(numDistOwners); configureCache(distBuilder); cacheManagers.stream().forEach(cm -> cm.defineConfiguration(DIST, distBuilder.build())); // Create replicated caches ConfigurationBuilder replBuilder = new ConfigurationBuilder(); replBuilder.clustering().cacheMode(isSync ? CacheMode.REPL_SYNC : CacheMode.REPL_ASYNC); configureCache(replBuilder); cacheManagers.stream().forEach(cm -> cm.defineConfiguration(REPL, replBuilder.build())); // Create scattered caches if (!Boolean.TRUE.equals(transactional)) { ConfigurationBuilder scatteredBuilder = new ConfigurationBuilder(); scatteredBuilder.clustering().cacheMode(CacheMode.SCATTERED_SYNC); if (biasAcquisition != null) { scatteredBuilder.clustering().biasAcquisition(biasAcquisition); } configureCache(scatteredBuilder); cacheManagers.stream().forEach(cm -> cm.defineConfiguration(SCATTERED, scatteredBuilder.build())); } // Wait for cluster to form waitForClusterToForm(DIST, REPL, SCATTERED); }