public abstract class RegionFactoryBean<K,V> extends RegionLookupFactoryBean<K,V> implements DisposableBean, SmartLifecycle
FactoryBean
for constructing and initializing a GemFire Region
.DisposableBean
,
SmartLifecycle
,
RegionLookupFactoryBean
Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
log |
Constructor and Description |
---|
RegionFactoryBean() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
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> |
createRegionFactory(org.apache.geode.cache.Cache cache)
Creates an instance of RegionFactory using the given Cache instance used to configure and construct the Region
created by this FactoryBean.
|
void |
destroy() |
org.apache.geode.cache.RegionAttributes |
getAttributes()
Returns the attributes used to configure the Region created by this factory as set in the SDG XML namespace
configuration meta-data, or as set with the setAttributes(:Attributes) method.
|
org.apache.geode.cache.DataPolicy |
getDataPolicy()
Gets the "resolved" Data Policy as determined by this RegionFactory when configuring the attributes
of the Region to be created.
|
int |
getPhase() |
protected org.apache.geode.cache.RegionShortcut |
getShortcut() |
boolean |
isAutoStartup() |
protected boolean |
isNotPersistent()
Returns true when the user explicitly specified a value for the persistent attribute and it is false.
|
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() |
protected org.apache.geode.cache.Region<K,V> |
lookupRegion(org.apache.geode.cache.GemFireCache gemfireCache,
String regionName)
Method to perform a lookup when the named
Region does not exist. |
protected <K,V> void |
mergePartitionAttributes(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
org.apache.geode.cache.RegionAttributes<K,V> regionAttributes) |
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.Region<K,V> |
postProcess(org.apache.geode.cache.Region<K,V> region)
Post-process the Region for this factory bean during the initialization process.
|
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 GemFire Region for this factory bean during the initialization
process.
|
protected void |
resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory,
Boolean persistent,
org.apache.geode.cache.DataPolicy dataPolicy)
Validates and sets the Data Policy 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.
|
void |
setAsyncEventQueues(org.apache.geode.cache.asyncqueue.AsyncEventQueue[] asyncEventQueues)
The list of AsyncEventQueues to use with this Region.
|
void |
setAttributes(org.apache.geode.cache.RegionAttributes<K,V> attributes)
Sets the region attributes used for the region used by this factory.
|
void |
setCacheListeners(org.apache.geode.cache.CacheListener<K,V>[] cacheListeners)
Sets the cache listeners used for the region used by this factory.
|
void |
setCacheLoader(org.apache.geode.cache.CacheLoader<K,V> cacheLoader)
Sets the cache loader used for the region used by this factory.
|
void |
setCacheWriter(org.apache.geode.cache.CacheWriter<K,V> cacheWriter)
Sets the cache writer used for the region used by this factory.
|
void |
setClose(boolean close)
Indicates whether the Region referred to by this factory bean will be closed on shutdown (default true).
|
void |
setDataPolicy(org.apache.geode.cache.DataPolicy dataPolicy)
Sets the DataPolicy of the Region.
|
void |
setDataPolicy(String dataPolicyName)
Deprecated.
as of 1.4.0, use setDataPolicy(:DataPolicy) instead.
|
void |
setDestroy(boolean destroy)
Indicates whether the Region referred to by this factory bean will be destroyed on shutdown (default false).
|
void |
setDiskStoreName(String diskStoreName)
Sets the name of Disk Store used for either overflow or persistence, or both.
|
void |
setEvictionAttributes(org.apache.geode.cache.EvictionAttributes evictionAttributes) |
void |
setGatewaySenders(org.apache.geode.cache.wan.GatewaySender[] gatewaySenders) |
void |
setKeyConstraint(Class<K> keyConstraint) |
void |
setPersistent(Boolean persistent) |
void |
setScope(org.apache.geode.cache.Scope scope)
Sets the region scope.
|
void |
setShortcut(org.apache.geode.cache.RegionShortcut shortcut)
Configures the Region with a RegionShortcut.
|
void |
setSnapshot(Resource snapshot)
Sets the snapshots used for loading a newly created region.
|
void |
setValueConstraint(Class<V> valueConstraint) |
void |
start() |
void |
stop() |
void |
stop(Runnable callback) |
getLookupEnabled, getObject, getObjectType, getParent, getRegion, isSingleton, resolveRegionName, setBeanName, setCache, setLookupEnabled, setName, setParent, setRegionName
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
afterPropertiesSet
in class RegionLookupFactoryBean<K,V>
Exception
protected org.apache.geode.cache.Region<K,V> lookupRegion(org.apache.geode.cache.GemFireCache gemfireCache, String regionName) throws Exception
RegionLookupFactoryBean
Region
does not exist. By default, this implementation
throws an exception.lookupRegion
in class RegionLookupFactoryBean<K,V>
gemfireCache
- reference to the GemFire cache.regionName
- name of the GemFire Region
.Region
in the GemFire cache with the given name.BeanInitializationException
- if the lookup operation fails.Exception
Region
protected org.apache.geode.cache.RegionFactory<K,V> createRegionFactory(org.apache.geode.cache.Cache cache)
cache
- the GemFire Cache instance.Cache.createRegionFactory()
,
Cache.createRegionFactory(org.apache.geode.cache.RegionAttributes)
,
Cache.createRegionFactory(org.apache.geode.cache.RegionShortcut)
,
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)
K
- the Class type fo the Region key.V
- the Class type of the Region value.regionFactory
- the 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
,
RegionFactory
protected <K,V> void mergePartitionAttributes(org.apache.geode.cache.RegionFactory<K,V> regionFactory, org.apache.geode.cache.RegionAttributes<K,V> regionAttributes)
protected 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()
,
DataPolicy
protected org.apache.geode.cache.RegionFactory<K,V> postProcess(org.apache.geode.cache.RegionFactory<K,V> regionFactory)
regionFactory
- the GemFire RegionFactory used to create the Region for post-processing.RegionFactory
protected org.apache.geode.cache.Region<K,V> postProcess(org.apache.geode.cache.Region<K,V> region)
region
- the GemFire Region to post-process.Region
protected void resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory, Boolean persistent, org.apache.geode.cache.DataPolicy dataPolicy)
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
,
RegionFactory
protected void resolveDataPolicy(org.apache.geode.cache.RegionFactory<K,V> regionFactory, Boolean persistent, String dataPolicy)
regionFactory
- the 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 GemFire configuration meta-data.DataPolicy
,
RegionFactory
public void destroy() throws Exception
destroy
in interface DisposableBean
Exception
public void setAsyncEventQueues(org.apache.geode.cache.asyncqueue.AsyncEventQueue[] asyncEventQueues)
asyncEventQueues
- defined as Object for backwards compatibility with Gemfire 6.public void setAttributes(org.apache.geode.cache.RegionAttributes<K,V> attributes)
attributes
- the attributes to set on a newly created regionpublic org.apache.geode.cache.RegionAttributes getAttributes()
RegionAttributes
public void setCacheListeners(org.apache.geode.cache.CacheListener<K,V>[] cacheListeners)
setAttributes(RegionAttributes)
.cacheListeners
- the cacheListeners to set on a newly created regionpublic void setCacheLoader(org.apache.geode.cache.CacheLoader<K,V> cacheLoader)
setAttributes(RegionAttributes)
.cacheLoader
- the cacheLoader to set on a newly created regionpublic void setCacheWriter(org.apache.geode.cache.CacheWriter<K,V> cacheWriter)
setAttributes(RegionAttributes)
.cacheWriter
- the cacheWriter to set on a newly created regionpublic void setClose(boolean close)
close
- a boolean value indicating whether this Region should be closed on member shutdown.setDestroy(boolean)
public void setDestroy(boolean destroy)
destroy
- a boolean value indicating whether the Region is to be destroy on member shutdown.setDestroy(boolean)
public void setDataPolicy(org.apache.geode.cache.DataPolicy dataPolicy)
dataPolicy
- the GemFire DataPolicy to use when configuring the Region.@Deprecated public void setDataPolicy(String dataPolicyName)
dataPolicyName
- the name of the DataPolicy (e.g. REPLICATE, PARTITION)setDataPolicy(org.apache.geode.cache.DataPolicy)
public org.apache.geode.cache.DataPolicy getDataPolicy()
DataPolicy
public void setDiskStoreName(String diskStoreName)
diskStoreName
- the name of the Disk Store bean in context used for overflow/persistence.public void setEvictionAttributes(org.apache.geode.cache.EvictionAttributes evictionAttributes)
public void setGatewaySenders(org.apache.geode.cache.wan.GatewaySender[] gatewaySenders)
gatewaySenders
- defined as Object for backward compatibility with
Gemfire 6public void setPersistent(Boolean persistent)
public void setScope(org.apache.geode.cache.Scope scope)
setAttributes(RegionAttributes)
.scope
- the region scopeScope
public void setShortcut(org.apache.geode.cache.RegionShortcut shortcut)
shortcut
- the RegionShortcut used to configure pre-defined default for the Region created
by this FactoryBean.RegionShortcut
protected final org.apache.geode.cache.RegionShortcut getShortcut()
public void setSnapshot(Resource snapshot)
snapshot
- the snapshot to setRegionLookupFactoryBean.setName(String)
public void stop(Runnable callback)
stop
in interface SmartLifecycle
public boolean isAutoStartup()
isAutoStartup
in interface SmartLifecycle
Copyright © 2011–2017 Pivotal Software, Inc.. All rights reserved.