Factory class to create instances of RegionAttributes.

Namespace: GemStone.GemFire.Cache
Assembly:  GemStone.GemFire.Cache (in GemStone.GemFire.Cache.dll)
Version: 2.7.0.1

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

See Also