org.infinispan.eviction.PassivationManager Maven / Gradle / Ivy
package org.infinispan.eviction;
import org.infinispan.container.entries.InternalCacheEntry;
import org.infinispan.factories.annotations.Stop;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;
import org.infinispan.jmx.JmxStatisticsExposer;
import org.infinispan.jmx.annotations.MBean;
import org.infinispan.jmx.annotations.ManagedAttribute;
import org.infinispan.jmx.annotations.ManagedOperation;
import org.infinispan.jmx.annotations.MeasurementType;
import org.infinispan.persistence.spi.PersistenceException;
import net.jcip.annotations.ThreadSafe;
/**
* A passivation manager
*
* @author Manik Surtani
* @version 4.1
*/
@ThreadSafe
@Scope(Scopes.NAMED_CACHE)
@MBean(objectName = "Passivation", description = "Component that handles passivating entries to a CacheStore on eviction.")
public interface PassivationManager extends JmxStatisticsExposer {
boolean isEnabled();
void passivate(InternalCacheEntry entry);
@Stop(priority = 9)
void passivateAll() throws PersistenceException;
/**
* Skips the passivation when the cache is stopped.
*/
void skipPassivationOnStop(boolean skip);
@ManagedAttribute(
description = "Number of passivation events",
displayName = "Number of cache passivations",
measurementType = MeasurementType.TRENDSUP
)
long getPassivations();
@ManagedOperation(
description = "Resets statistics gathered by this component",
displayName = "Reset statistics")
void resetStatistics();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy