Class EvictionConfiguration.EvictionPolicyMetaData
java.lang.Object
org.springframework.data.gemfire.config.annotation.EvictionConfiguration.EvictionPolicyMetaData
- All Implemented Interfaces:
EvictionConfiguration.EvictionPolicyConfigurer
- Enclosing class:
- EvictionConfiguration
protected static class EvictionConfiguration.EvictionPolicyMetaData
extends Object
implements EvictionConfiguration.EvictionPolicyConfigurer
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEvictionPolicyMetaData(EvictionAttributes evictionAttributes) Constructs an instance ofEvictionConfiguration.EvictionPolicyMetaDatainitialized with the givenEvictionAttributesapplying to allRegions.protectedEvictionPolicyMetaData(EvictionAttributes evictionAttributes, String[] regionNames) Constructs an instance ofEvictionConfiguration.EvictionPolicyMetaDatainitialized with the givenEvictionAttributesto apply to the specificRegions. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanDetermines whether the givenObject(e.g.protected booleanDetermine whether theRegionidentified by name is accepted for Eviction policy configuration.protected booleanDetermines whether the givenRegionis accepted for Eviction policy configuration.Configure the Eviction policy on the given SDGClientRegionFactoryBeanorPeerRegionFactoryBeanused to create an Apache GeodeRegion.Region<?,?> Configures the Eviction policy of the given Apache GeodeRegion.protected static EvictionConfiguration.EvictionPolicyMetaDatafrom(AnnotationAttributes evictionPolicyAttributes, ApplicationContext applicationContext) protected static EvictionConfiguration.EvictionPolicyMetaDatafrom(EnableEviction.EvictionPolicy evictionPolicy, ApplicationContext applicationContext) protected static EvictionConfiguration.EvictionPolicyMetaDatafrom(EvictionPolicyType type, int maximum, EvictionActionType action, ObjectSizer objectSizer, String... regionNames) protected static EvictionConfiguration.EvictionPolicyMetaDataprotected EvictionAttributesReturns an instance of theEvictionAttributesspecifying the Eviction policy configuration captured in this Eviction policy meta-data.protected static ObjectSizerresolveObjectSizer(String objectSizerName, ApplicationContext applicationContext) protected StringresolveRegionName(Object regionFactoryBean) Resolves the name of a givenRegionfrom the correspondingResolvableRegionFactoryBeanobject.protected static IntegerresolveThreshold(int maximum, EvictionPolicyType type) Resolves the Eviction policy threshold (a.k.a. maximum) based on theEvictionPolicyType.protected EvictingRegionFactoryBeansetEvictionAttributes(EvictingRegionFactoryBean regionFactoryBean) Sets theEvictionAttributeson thePeerRegionFactoryBeanorClientRegionFactoryBeanused to create the targetedRegion.
-
Field Details
-
ALL_REGIONS
-
-
Constructor Details
-
EvictionPolicyMetaData
Constructs an instance ofEvictionConfiguration.EvictionPolicyMetaDatainitialized with the givenEvictionAttributesapplying to allRegions.- Parameters:
evictionAttributes-EvictionAttributesspecifying the Eviction policy configuration for aRegion.- See Also:
-
EvictionPolicyMetaData
Constructs an instance ofEvictionConfiguration.EvictionPolicyMetaDatainitialized with the givenEvictionAttributesto apply to the specificRegions.- Parameters:
evictionAttributes-EvictionAttributesspecifying the Eviction policy configuration for aRegion.regionNames- names ofRegionson which the Eviction policy is applied.- See Also:
-
-
Method Details
-
from
protected static EvictionConfiguration.EvictionPolicyMetaData from(@NonNull AnnotationAttributes evictionPolicyAttributes, @NonNull ApplicationContext applicationContext) -
from
protected static EvictionConfiguration.EvictionPolicyMetaData from(EnableEviction.EvictionPolicy evictionPolicy, ApplicationContext applicationContext) -
from
protected static EvictionConfiguration.EvictionPolicyMetaData from(EvictionPolicyType type, int maximum, EvictionActionType action, ObjectSizer objectSizer, String... regionNames) -
fromDefaults
-
resolveObjectSizer
protected static ObjectSizer resolveObjectSizer(String objectSizerName, ApplicationContext applicationContext) -
resolveThreshold
Resolves the Eviction policy threshold (a.k.a. maximum) based on theEvictionPolicyType. For instanceEvictionPolicyType.HEAP_PERCENTAGEdoes not support maximum/threshold since the settings are determined by the GemFire/Geode cache critical heap percentage and eviction heap percentage System property settings.- Parameters:
maximum- integer value specifying the configured Eviction threshold.type-EvictionPolicyTypespecifying the type of Eviction algorithm.- Returns:
- a resolved value for the Eviction maximum/threshold.
- See Also:
-
accepts
Determines whether the givenObject(e.g. Spring bean) is accepted for Eviction policy configuration. -
accepts
Determines whether the givenRegionis accepted for Eviction policy configuration. -
accepts
Determine whether theRegionidentified by name is accepted for Eviction policy configuration. -
resolveRegionName
Resolves the name of a givenRegionfrom the correspondingResolvableRegionFactoryBeanobject.- Parameters:
regionFactoryBean-ResolvableRegionFactoryBeanfrom which to resolve theRegionname.- Returns:
- the resolved name of the
Regioncreated from the givenResolvableRegionFactoryBean. - See Also:
-
setEvictionAttributes
protected EvictingRegionFactoryBean setEvictionAttributes(EvictingRegionFactoryBean regionFactoryBean) Sets theEvictionAttributeson thePeerRegionFactoryBeanorClientRegionFactoryBeanused to create the targetedRegion.- Parameters:
regionFactoryBean-PeerRegionFactoryBeanorClientRegionFactoryBeanon which to set theEvictionAttributesencapsulating the Eviction policy for the targetedRegion.- Returns:
- the
regionFactoryBean. - See Also:
-
getEvictionAttributes
Returns an instance of theEvictionAttributesspecifying the Eviction policy configuration captured in this Eviction policy meta-data.- Returns:
- an instance of the
EvictionAttributesspecifying theRegionEviction policy configuration. - Throws:
IllegalStateException- if theEvictionAttributeswere not properly initialized.- See Also:
-
configure
Description copied from interface:EvictionConfiguration.EvictionPolicyConfigurerConfigure the Eviction policy on the given SDGClientRegionFactoryBeanorPeerRegionFactoryBeanused to create an Apache GeodeRegion.- Specified by:
configurein interfaceEvictionConfiguration.EvictionPolicyConfigurer- Parameters:
regionBean-ClientRegionFactoryBeanorPeerRegionFactoryBeanused to create an Apache GeodeRegion.- Returns:
- the given
regionFactoryBean. - See Also:
-
configure
Description copied from interface:EvictionConfiguration.EvictionPolicyConfigurerConfigures the Eviction policy of the given Apache GeodeRegion.- Specified by:
configurein interfaceEvictionConfiguration.EvictionPolicyConfigurer- Parameters:
region-Regionon which to configure the Eviction policy.- Returns:
- the given
Region. - See Also:
-