public abstract class RegionFactoryBean<K,V> extends RegionLookupFactoryBean<K,V> implements EvictingRegionFactoryBean, ExpiringRegionFactoryBean<K,V>, DisposableBean, SmartLifecycle
FactoryBean base class extended by other SDG FactoryBeans used to
construct, configure and initialize peer Regions.
This FactoryBean allows for very easy and flexible creation of peer Region.
For client Regions, however, see the ClientRegionFactoryBean.Cache,
CacheListener,
CacheLoader,
CacheWriter,
DataPolicy,
EvictionAttributes,
GemFireCache,
PartitionAttributes,
Region,
RegionAttributes,
RegionFactory,
RegionShortcut,
Scope,
AsyncEventQueue,
DisposableBean,
SmartLifecycle,
RegionLookupFactoryBean,
ClientRegionFactoryBean,
RegionConfigurer| Modifier and Type | Field and Description |
|---|---|
protected Log |
log |
DEFAULT_SINGLETON| Constructor and Description |
|---|
RegionFactoryBean() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
applyRegionConfigurers(String regionName,
Iterable<RegionConfigurer> regionConfigurers)
|
protected void |
applyRegionConfigurers(String regionName,
RegionConfigurer... regionConfigurers)
Null-safe operation to apply the given array of
RegionConfigurers
to this RegionFactoryBean. |
protected void |
assertDataPolicyAndPersistentAttributesAreCompatible(org.apache.geode.cache.DataPolicy resolvedDataPolicy)
Validates that the settings for Data Policy and the 'persistent' attribute in <gfe:*-region> elements
are compatible.
|
protected org.apache.geode.cache.RegionFactory<K,V> |
configure(org.apache.geode.cache.RegionFactory<K,V> regionFactory)
Configures the
RegionFactory based on the configuration settings of this RegionFactoryBean. |
protected org.apache.geode.cache.Region<K,V> |
createRegion(org.apache.geode.cache.GemFireCache gemfireCache,
String regionName)
Creates a new
Region with the given name. |
protected org.apache.geode.cache.RegionFactory<K,V> |
createRegionFactory(org.apache.geode.cache.Cache cache)
Creates an instance of
RegionFactory with the given Cache which is then used to construct,
configure and initialize the Region specified by this RegionFactoryBean. |
void |
destroy()
Closes and destroys the
Region. |
org.apache.geode.cache.RegionAttributes<K,V> |
getAttributes()
Returns the
RegionAttributes used to configure this Region. |
protected RegionConfigurer |
getCompositeRegionConfigurer()
Returns a reference to the Composite
RegionConfigurer used to apply additional configuration
to this RegionFactoryBean on Spring container initialization. |
org.apache.geode.cache.DataPolicy |
getDataPolicy()
Returns resolved
DataPolicy as configured with the RegionFactory
when creating this Region. |
Boolean |
getOffHeap()
Returns a
Boolean value indicating whether off-heap memory was enabled for this Region. |
int |
getPhase() |
org.apache.geode.cache.Scope |
getScope()
Returns the configured
Scope of the Region affecting data distribution
and acknowledgement strategy (useful in consistency) for the Region. |
org.apache.geode.cache.RegionShortcut |
getShortcut()
Returns the configured
RegionShortcut. |
Boolean |
getStatisticsEnabled() |
boolean |
isAutoStartup() |
protected boolean |
isNotPersistent()
Returns true when the user explicitly specified a value for the persistent attribute and it is false.
|
boolean |
isOffHeap()
Returns a boolean value indicating whether off-heap memory has been enabled for this
Region. |
protected boolean |
isPersistent()
Returns true when the user explicitly specified a value for the persistent attribute and it is true.
|
protected boolean |
isPersistentUnspecified()
Determines whether the user explicitly set the 'persistent' attribute or not.
|
boolean |
isRunning() |
boolean |
isStatisticsEnabled() |
protected <K,V> void |
mergePartitionAttributes(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
org.apache.geode.cache.RegionAttributes<K,V> regionAttributes)
Merges the
RegionAttributes into the RegionFactory. |
protected <K,V> org.apache.geode.cache.RegionFactory<K,V> |
mergeRegionAttributes(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
org.apache.geode.cache.RegionAttributes<K,V> regionAttributes)
Intelligently merges the given RegionAttributes with the configuration setting of the RegionFactory.
|
protected org.apache.geode.cache.RegionFactory<K,V> |
postProcess(org.apache.geode.cache.RegionFactory<K,V> regionFactory)
Post-process the
RegionFactory used to create the Region specified by
this RegionFactoryBean during initialization. |
protected void |
resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
Boolean persistent,
org.apache.geode.cache.DataPolicy dataPolicy)
Validates and sets the
DataPolicy on the RegionFactory used to create and configure
the Region from this FactoryBean. |
protected void |
resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
Boolean persistent,
String dataPolicy)
Validates the configured Data Policy and may override it, taking into account the 'persistent' attribute
and constraints for the Region type.
|
protected boolean |
resolveStatisticsEnabled() |
void |
setAsyncEventQueues(org.apache.geode.cache.asyncqueue.AsyncEventQueue[] asyncEventQueues)
Configures an array of
AsyncEventQueues for this Region used to perform
asynchronous data access operations, e.g. |
void |
setAttributes(org.apache.geode.cache.RegionAttributes<K,V> attributes)
Sets the
RegionAttributes used to configure this Region. |
void |
setCacheListeners(org.apache.geode.cache.CacheListener<K,V>[] cacheListeners)
Configures
CacheListeners used to listen for entry events on this Region. |
void |
setCacheLoader(org.apache.geode.cache.CacheLoader<K,V> cacheLoader)
Configures the
CacheLoader used by this Region to perform synchronous read-through
data access operations to an underlying, external data source. |
void |
setCacheWriter(org.apache.geode.cache.CacheWriter<K,V> cacheWriter)
Configures the
CacheWriter used by this Region to perform synchronous write-through
data access operations to an underlying, external data source. |
void |
setClose(boolean close)
Configure whether to close this Region during shutdown.
|
void |
setCompressor(org.apache.geode.compression.Compressor compressor)
Configures the
Compressor used to compress this Region's data. |
void |
setCustomEntryIdleTimeout(org.apache.geode.cache.CustomExpiry<K,V> customEntryIdleTimeout) |
void |
setCustomEntryTimeToLive(org.apache.geode.cache.CustomExpiry<K,V> customEntryTimeToLive) |
void |
setDataPolicy(org.apache.geode.cache.DataPolicy dataPolicy)
Configure the
DataPolicy for this Region. |
void |
setDataPolicy(String dataPolicyName)
Deprecated.
as of 1.4.0; use setDataPolicy(:DataPolicy) instead.
|
void |
setDestroy(boolean destroy)
Configure whether to destroy this
Region during shutdown. |
void |
setDiskStoreName(String diskStoreName)
|
void |
setEntryIdleTimeout(org.apache.geode.cache.ExpirationAttributes entryIdleTimeout) |
void |
setEntryTimeToLive(org.apache.geode.cache.ExpirationAttributes entryTimeToLive) |
void |
setEvictionAttributes(org.apache.geode.cache.EvictionAttributes evictionAttributes) |
void |
setGatewaySenders(org.apache.geode.cache.wan.GatewaySender[] gatewaySenders)
Configures the
GatewaySenders used to send data and events from this Region
to a corresponding Region in a remote cluster/site. |
void |
setKeyConstraint(Class<K> keyConstraint)
|
void |
setOffHeap(Boolean offHeap)
Configures whether to enable this
Region with the ability to store data in off-heap memory. |
void |
setPersistent(Boolean persistent)
Configures whether to enable persistence for this
Region. |
void |
setRegionConfigurers(List<RegionConfigurer> regionConfigurers)
Null-safe operation to set an
Iterable of RegionConfigurers used to apply
additional configuration to this RegionFactoryBean when using Annotation-based configuration. |
void |
setRegionConfigurers(RegionConfigurer... regionConfigurers)
Null-safe operation to set an array of
RegionConfigurers used to apply
additional configuration to this RegionFactoryBean when using Annotation-based configuration. |
void |
setRegionIdleTimeout(org.apache.geode.cache.ExpirationAttributes regionIdleTimeout) |
void |
setRegionTimeToLive(org.apache.geode.cache.ExpirationAttributes regionTimeToLive) |
void |
setScope(org.apache.geode.cache.Scope scope)
Configures the
Region's Scope, which affects data distribution
and acknowledgement strategy (useful in consistency) for the Region. |
void |
setShortcut(org.apache.geode.cache.RegionShortcut shortcut)
Configures the
Region with the given RegionShortcut. |
void |
setStatisticsEnabled(Boolean statisticsEnabled) |
void |
setValueConstraint(Class<V> valueConstraint)
|
void |
start() |
void |
stop() |
void |
stop(Runnable callback) |
afterPropertiesSet, getCache, getLookupEnabled, getObject, getObjectType, getParent, getRegion, loadSnapshot, postProcess, resolveRegionName, setCache, setLookupEnabled, setName, setParent, setRegion, setRegionName, setSnapshotgetBeanClassLoader, getBeanFactory, getBeanName, getLog, isSingleton, logDebug, logDebug, logError, logError, logInfo, logInfo, logWarning, logWarning, newLog, setBeanClassLoader, setBeanFactory, setBeanNameprotected final Log log
protected org.apache.geode.cache.Region<K,V> createRegion(org.apache.geode.cache.GemFireCache gemfireCache, String regionName) throws Exception
Region with the given name.createRegion in class RegionLookupFactoryBean<K,V>gemfireCache - reference to the GemFireCache.regionName - name of the new Region.Region with the given name.BeanInitializationException - by default unless a subclass overrides this method.ExceptionGemFireCache,
Regionprotected void applyRegionConfigurers(String regionName, RegionConfigurer... regionConfigurers)
RegionConfigurers
to this RegionFactoryBean.regionName - String containing the name of the Region.regionConfigurers - array of RegionConfigurers applied
to this RegionFactoryBean.RegionConfigurer,
applyRegionConfigurers(String, Iterable)protected void applyRegionConfigurers(String regionName, Iterable<RegionConfigurer> regionConfigurers)
regionName - String containing the name of the Region.regionConfigurers - Iterable of RegionConfigurers applied
to this RegionFactoryBean.RegionConfigurerprotected org.apache.geode.cache.RegionFactory<K,V> createRegionFactory(org.apache.geode.cache.Cache cache)
RegionFactory with the given Cache which is then used to construct,
configure and initialize the Region specified by this RegionFactoryBean.cache - reference to the Cache.RegionFactory used to construct, configure and initialized the Region specified by
this RegionFactoryBean.Cache.createRegionFactory(org.apache.geode.cache.RegionShortcut),
Cache.createRegionFactory(org.apache.geode.cache.RegionAttributes),
Cache.createRegionFactory(),
RegionFactoryprotected org.apache.geode.cache.RegionFactory<K,V> configure(org.apache.geode.cache.RegionFactory<K,V> regionFactory)
RegionFactory based on the configuration settings of this RegionFactoryBean.regionFactory - RegionFactory to configureRegionFactory.RegionFactoryprotected org.apache.geode.cache.RegionFactory<K,V> postProcess(org.apache.geode.cache.RegionFactory<K,V> regionFactory)
RegionFactory used to create the Region specified by
this RegionFactoryBean during initialization.
The RegionFactory has been already constructed, configured and initialized by
this RegionFactoryBean before this method gets invoked.regionFactory - RegionFactory used to create the Region.RegionFactory.RegionFactoryprotected RegionConfigurer getCompositeRegionConfigurer()
RegionConfigurer used to apply additional configuration
to this RegionFactoryBean on Spring container initialization.RegionConfigurer.RegionConfigurerprotected <K,V> org.apache.geode.cache.RegionFactory<K,V> mergeRegionAttributes(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
org.apache.geode.cache.RegionAttributes<K,V> regionAttributes)
K - the Class type fo the Region key.V - the Class type of the Region value.regionFactory - the Pivotal GemFire RegionFactory used to configure and create the Region that is the product
of this RegionFactoryBean.regionAttributes - the RegionAttributes containing the Region configuration settings to merge to the
RegionFactory.isUserSpecifiedEvictionAttributes(org.apache.geode.cache.RegionAttributes),
validateRegionAttributes(org.apache.geode.cache.RegionAttributes),
RegionAttributes,
RegionFactoryprotected <K,V> void mergePartitionAttributes(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
org.apache.geode.cache.RegionAttributes<K,V> regionAttributes)
RegionAttributes into the RegionFactory.regionFactory - RegionFactory to configure.regionAttributes - RegionAttributes used to configure the RegionFactory
if not null.RegionAttributes,
RegionFactoryprotected boolean isPersistent()
isNotPersistent(),
isPersistentUnspecified()protected boolean isPersistentUnspecified()
isPersistent(),
isNotPersistent()protected boolean isNotPersistent()
isPersistent(),
isPersistentUnspecified()protected void assertDataPolicyAndPersistentAttributesAreCompatible(org.apache.geode.cache.DataPolicy resolvedDataPolicy)
resolvedDataPolicy - the GemFire Data Policy resolved form the Spring GemFire XML namespace configuration
meta-data.isPersistent(),
isNotPersistent(),
DataPolicyprotected void resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory, Boolean persistent, org.apache.geode.cache.DataPolicy dataPolicy)
DataPolicy on the RegionFactory used to create and configure
the Region from this FactoryBean.regionFactory - the RegionFactory used by this FactoryBean to create and configure the Region.persistent - a boolean value indicating whether the Region should be persistent and persist it's
data to disk.dataPolicy - the configured Data Policy for the Region.resolveDataPolicy(org.apache.geode.cache.RegionFactory, Boolean, String),
DataPolicy,
RegionFactoryprotected void resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory, Boolean persistent, String dataPolicy)
regionFactory - the Pivotal GemFire RegionFactory used to create the desired Region.persistent - a boolean value indicating whether the Region should persist it's data to disk.dataPolicy - requested Data Policy as set by the user in the Spring Pivotal GemFire configuration meta-data.DataPolicy,
RegionFactorypublic void destroy()
throws Exception
Region.destroy in interface DisposableBeanException - if destroy() fails.DisposableBean,
Region.close(),
Region.destroyRegion()public void setAsyncEventQueues(org.apache.geode.cache.asyncqueue.AsyncEventQueue[] asyncEventQueues)
AsyncEventQueues for this Region used to perform
asynchronous data access operations, e.g. asynchronous write-behind.asyncEventQueues - array of AsyncEventQueues used by this Region
to perform asynchronous data access operations.AsyncEventQueuepublic void setAttributes(org.apache.geode.cache.RegionAttributes<K,V> attributes)
RegionAttributes used to configure this Region.
Specifying RegionAttributes allows maximum control in specifying various Region settings.
Used only when the Region is created and not when the Region is looked up.attributes - RegionAttributes used to configure this Region.RegionAttributespublic org.apache.geode.cache.RegionAttributes<K,V> getAttributes()
RegionAttributes used to configure this Region.RegionAttributes used to configure this Region.RegionAttributespublic void setCacheListeners(org.apache.geode.cache.CacheListener<K,V>[] cacheListeners)
CacheListeners used to listen for entry events on this Region.
Used only when a new Region is created and not looked up.
Overrides the Region settings specified in RegionAttributes
set with setAttributes(RegionAttributes).cacheListeners - array CacheListeners to register with this Region.CacheListenerpublic void setCacheLoader(org.apache.geode.cache.CacheLoader<K,V> cacheLoader)
CacheLoader used by this Region to perform synchronous read-through
data access operations to an underlying, external data source.
Used only when a new Region is created and not looked up.
Overrides the Region settings specified in RegionAttributes
set with setAttributes(RegionAttributes).cacheLoader - CacheLoader to register for this Region.CacheLoaderpublic void setCacheWriter(org.apache.geode.cache.CacheWriter<K,V> cacheWriter)
CacheWriter used by this Region to perform synchronous write-through
data access operations to an underlying, external data source.
Used only when a new Region is created and not looked up.
Overrides the Region settings specified in RegionAttributes
set with setAttributes(RegionAttributes).cacheWriter - CacheWriter to register for this Region.CacheWriterpublic void setClose(boolean close)
close - boolean value indicating whether this Region should be closed during shutdown.setDestroy(boolean)public void setCompressor(org.apache.geode.compression.Compressor compressor)
Compressor used to compress this Region's data.compressor - Compressor used to compress this Region's data.Compressorpublic void setCustomEntryIdleTimeout(org.apache.geode.cache.CustomExpiry<K,V> customEntryIdleTimeout)
setCustomEntryIdleTimeout in interface ExpiringRegionFactoryBean<K,V>public void setCustomEntryTimeToLive(org.apache.geode.cache.CustomExpiry<K,V> customEntryTimeToLive)
setCustomEntryTimeToLive in interface ExpiringRegionFactoryBean<K,V>public void setDestroy(boolean destroy)
Region during shutdown.
Defaults to false.destroy - value indicating whether this Region should be destroyed during shutdown.setClose(boolean)public void setDataPolicy(org.apache.geode.cache.DataPolicy dataPolicy)
DataPolicy for this Region.dataPolicy - DataPolicy used when configuring this Region.DataPolicy@Deprecated public void setDataPolicy(String dataPolicyName)
dataPolicyName - String containing the name of the DataPolicy,
(e.g. PARTITION or REPLICATE, etc).setDataPolicy(org.apache.geode.cache.DataPolicy)public org.apache.geode.cache.DataPolicy getDataPolicy()
DataPolicy as configured with the RegionFactory
when creating this Region.DataPolicy used by this Region.IllegalStateException - if the DataPolicy has not been configured
or is not resolvable.DataPolicypublic void setDiskStoreName(String diskStoreName)
diskStoreName - String containing the name of the DiskStore bean
configured for this Region.public void setEntryIdleTimeout(org.apache.geode.cache.ExpirationAttributes entryIdleTimeout)
setEntryIdleTimeout in interface ExpiringRegionFactoryBean<K,V>public void setEntryTimeToLive(org.apache.geode.cache.ExpirationAttributes entryTimeToLive)
setEntryTimeToLive in interface ExpiringRegionFactoryBean<K,V>public void setEvictionAttributes(org.apache.geode.cache.EvictionAttributes evictionAttributes)
setEvictionAttributes in interface EvictingRegionFactoryBeanpublic void setGatewaySenders(org.apache.geode.cache.wan.GatewaySender[] gatewaySenders)
GatewaySenders used to send data and events from this Region
to a corresponding Region in a remote cluster/site.gatewaySenders - GatewaySenders used to send data and events from this Region
to a corresponding Region in a remote cluster/site.GatewaySenderpublic void setOffHeap(Boolean offHeap)
Region with the ability to store data in off-heap memory.offHeap - Boolean value indicating whether to enable off-heap memory
for this Region.RegionFactory.setOffHeap(boolean)public Boolean getOffHeap()
Boolean value indicating whether off-heap memory was enabled for this Region.
Off-heap memory will be enabled if this method returns a non-null Boolean value
evaluating to true.Boolean value indicating whether off-heap memory is enabled for this Region.public boolean isOffHeap()
Region.Region.getOffHeap()public void setPersistent(Boolean persistent)
Region.
When persistence is enable, then data in the Region is persisted to disk
using the configured, specified DiskStore, or the DEFAULT DiskStore
if a DiskStore was not explicitly configured.persistent - Boolean value indicating whether to enaable persistence
for this Region.public void setRegionConfigurers(RegionConfigurer... regionConfigurers)
RegionConfigurers used to apply
additional configuration to this RegionFactoryBean when using Annotation-based configuration.regionConfigurers - array of RegionConfigurers used to apply
additional configuration to this RegionFactoryBean.RegionConfigurer,
setRegionConfigurers(List)public void setRegionConfigurers(List<RegionConfigurer> regionConfigurers)
Iterable of RegionConfigurers used to apply
additional configuration to this RegionFactoryBean when using Annotation-based configuration.regionConfigurers - Iterable of RegionConfigurers used to apply
additional configuration to this RegionFactoryBean.RegionConfigurerpublic void setRegionIdleTimeout(org.apache.geode.cache.ExpirationAttributes regionIdleTimeout)
setRegionIdleTimeout in interface ExpiringRegionFactoryBean<K,V>public void setRegionTimeToLive(org.apache.geode.cache.ExpirationAttributes regionTimeToLive)
setRegionTimeToLive in interface ExpiringRegionFactoryBean<K,V>public void setScope(org.apache.geode.cache.Scope scope)
Region's Scope, which affects data distribution
and acknowledgement strategy (useful in consistency) for the Region.scope - Scope used to configure the Region's data distribution
and acknowledgement strategy.Scopepublic org.apache.geode.cache.Scope getScope()
Scope of the Region affecting data distribution
and acknowledgement strategy (useful in consistency) for the Region.Scope of the Region.Scopepublic void setShortcut(org.apache.geode.cache.RegionShortcut shortcut)
Region with the given RegionShortcut.shortcut - RegionShortcut used to configure pre-defined defaults for the Region.RegionShortcutpublic org.apache.geode.cache.RegionShortcut getShortcut()
RegionShortcut.RegionShortcut.RegionShortcutpublic void setStatisticsEnabled(Boolean statisticsEnabled)
public Boolean getStatisticsEnabled()
public boolean isStatisticsEnabled()
protected boolean resolveStatisticsEnabled()
public void stop(Runnable callback)
stop in interface SmartLifecyclepublic boolean isAutoStartup()
isAutoStartup in interface SmartLifecycleCopyright © 2011–2019 Pivotal Software, Inc.. All rights reserved.