Factory class to create instances of RegionAttributes.
Namespace: GemStone.GemFire.Cache
Assembly: GemStone.GemFire.Cache (in GemStone.GemFire.Cache.dll)
Version: 2.7.0.0
Syntax
| C# |
|---|
public sealed class AttributesFactory : UMWrap<gemfire::AttributesFactory> |
| Visual Basic (Declaration) |
|---|
Public NotInheritable Class AttributesFactory _ Inherits UMWrap<gemfire::AttributesFactory> |
| Visual C++ |
|---|
public ref class AttributesFactory sealed : public UMWrap<gemfire::AttributesFactory> |
Remarks
An AttributesFactory
instance maintains state for creating RegionAttributes instances.
The setter methods are used to change the settings that will be used for
creating the next attributes instance with the CreateRegionAttributes()()
method. If you create a factory with the default constructor, then the
factory is set up to create attributes with all default settings. You can
also create a factory by providing a preset RegionAttributes.
Once a RegionAttributes is created, it can only be modified after it has been used to create a Region, and then only by using an AttributesMutator obtained from the region.
Attributes
Callbacks
- ICacheLoader [default: null]
- User-implemented plug-in for loading data on cache misses.
see SetCacheLoader(ICacheLoader), CacheLoader - ICacheWriter [default: null]
- User-implemented plug-in for intercepting cache modifications, e.g.
for writing to an external data source.
see SetCacheWriter(ICacheWriter), CacheWriter - ICacheListener [default: null]
- User-implemented plug-in for receiving and handling cache-related events.
see SetCacheListener(ICacheListener), CacheListener
Expiration
- RegionTimeToLive [default: no expiration]
- Expiration configuration for the entire region based on the
lastModifiedTime ( LastModifiedTime ).
see SetRegionTimeToLive(ExpirationAction, UInt32), RegionTimeToLive, SetRegionTimeToLive(Int32) - RegionIdleTimeout [default: no expiration]
- Expiration configuration for the entire region based on the
lastAccessedTime ( LastAccessedTime ).
see SetRegionIdleTimeout(ExpirationAction, UInt32), RegionIdleTimeout, SetRegionIdleTimeout(Int32) - EntryTimeToLive [default: no expiration]
- Expiration configuration for individual entries based on the
lastModifiedTime ( LastModifiedTime ).
see SetEntryTimeToLive(ExpirationAction, UInt32), EntryTimeToLive, SetEntryTimeToLive(Int32) - EntryIdleTimeout [default: no expiration]
- Expiration configuration for individual entries based on the
lastAccessedTime ( LastAccessedTime ).
see SetEntryIdleTimeout(ExpirationAction, UInt32), EntryIdleTimeout, SetEntryIdleTimeout(Int32)
Distribution
- ScopeType [default:ScopeType.DistributedNoAck]
- The C++ cache can contain either local regions or distributed regions.
Distributed regions are configured with servers that they distribute
their operations to upto. Locally scoped regions do not have any
distribution behavior. GFE native client regions scoped as
ScopeType.DistributedNoAck and ScopeType.DistributedAck have identical
distribution behavior.
see SetScope(ScopeType), Scope
Storage
- InitialCapacity [default:16]
- The initial capacity of the map used for storing the entries.
see SetInitialCapacity(Int32), InitialCapacity - LoadFactor [default:0.75]
- The load factor of the map used for storing the entries.
see SetLoadFactor(Single), LoadFactor - ConcurrencyLevel [default:16]
- The allowed concurrency among updates to values in the region
is guided by the concurrencyLevel, which is used as a hint
for internal sizing. The actual concurrency will vary.
Ideally, you should choose a value to accommodate as many
threads as will ever concurrently modify values in the region. Using a
significantly higher value than you need can waste space and time,
and a significantly lower value can lead to thread contention. But
overestimates and underestimates within an order of magnitude do
not usually have much noticeable impact. A value of one is
appropriate when it is known that only one thread will modify
and all others will only read.
see SetConcurrencyLevel(Int32), ConcurrencyLevel
Inheritance Hierarchy
System..::Object
GemStone.GemFire.Cache.Internal..::UMWrap<gemfire::AttributesFactory>
GemStone.GemFire.Cache..::AttributesFactory
GemStone.GemFire.Cache.Internal..::UMWrap<gemfire::AttributesFactory>
GemStone.GemFire.Cache..::AttributesFactory