package org.infinispan.xsite; import org.infinispan.configuration.cache.BackupConfiguration; import org.infinispan.configuration.cache.BackupFailurePolicy; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.configuration.global.GlobalConfigurationBuilder; public abstract class BaseSiteUnreachableTest extends AbstractXSiteTest { protected BackupFailurePolicy lonBackupFailurePolicy = BackupFailurePolicy.WARN; protected BackupConfiguration.BackupStrategy lonBackupStrategy = BackupConfiguration.BackupStrategy.SYNC; protected String lonCustomFailurePolicyClass = null; protected int failures = 0; @Override protected void createSites() { GlobalConfigurationBuilder lonGc = GlobalConfigurationBuilder.defaultClusteredBuilder(); lonGc .site().localSite("LON"); ConfigurationBuilder lon = getLonActiveConfig(); lon.sites().addBackup() .site("NYC") .backupFailurePolicy(lonBackupFailurePolicy) .replicationTimeout(100) //keep it small so that the test doesn't take long to run .takeOffline().afterFailures(failures). backup() .strategy(lonBackupStrategy) .failurePolicyClass(lonCustomFailurePolicyClass); lon.sites().addInUseBackupSite("NYC"); createSite("LON", 2, lonGc, lon); } protected ConfigurationBuilder getLonActiveConfig() { return getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC, true); } }