org.infinispan.upgrade.RollingUpgradeManager Maven / Gradle / Ivy
package org.infinispan.upgrade;
import static org.infinispan.util.logging.Log.CONTAINER;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
import org.infinispan.Cache;
import org.infinispan.commons.time.TimeService;
import org.infinispan.commons.util.ServiceFinder;
import org.infinispan.commons.util.Util;
import org.infinispan.configuration.cache.StoreConfiguration;
import org.infinispan.configuration.global.GlobalConfiguration;
import org.infinispan.factories.annotations.Inject;
import org.infinispan.factories.annotations.Start;
import org.infinispan.factories.annotations.SurvivesRestarts;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;
import org.infinispan.jmx.annotations.MBean;
import org.infinispan.jmx.annotations.ManagedOperation;
import org.infinispan.jmx.annotations.Parameter;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
* RollingUpgradeManager handles the synchronization of data between Infinispan
* clusters when performing rolling upgrades.
*
* @author Manik Surtani
* @author Tristan Tarrant
* @since 5.2
*/
@MBean(objectName = "RollingUpgradeManager", description = "Handles the migration of data when upgrading between versions.")
@Scope(value = Scopes.NAMED_CACHE)
@SurvivesRestarts
public class RollingUpgradeManager {
private static final Log log = LogFactory.getLog(RollingUpgradeManager.class);
private final ConcurrentMap targetMigrators = new ConcurrentHashMap<>(2);
@Inject Cache
© 2015 - 2025 Weber Informatics LLC | Privacy Policy