public class PartitionAttributesFactory<K,V> extends Object
A factory that creates instances of PartitionAttributes
which are
used to create a partitioned Region
. The setter methods follow the
self-return idiom so that they can be "chained" together with the
create()
method to create
PartitionAttributes
. For example:
PartitionAttributes pa = new PartitionAttributesFactory() .setRedundantCopies(1) .setLocalMaxMemory(1240) .create(); final Region myRegion = new RegionFactory() .setPartitionAttributes(pa) .setKeyConstraint(String.class) .setValueConstraint(ArrayList.class) .create("myRegion");
PartitionAttributes
can also be defined in a declarative fashion using a
cache.xml file. Here is an
example of how to configure a Partitioned Region named "pRoot" whose
Scope
is Distributed Ack, which maintains
a redundant copy
of any given
Region.Entry
, configures a
CacheLoader
implementation, and sets
global properties
as well as
local max memory to use
.
<root-region name="pRoot"> <region-attributes scope="distributed-ack" > <partition-attributes redundant-copies="1", local-max-memory="1240"/> </region-attributes> </root-region>
PartitionAttributes
,
AttributesFactory.setPartitionAttributes(PartitionAttributes)
Modifier and Type | Field and Description |
---|---|
static int |
GLOBAL_MAX_BUCKETS_DEFAULT
The default total number of buckets (113).
|
static String |
GLOBAL_MAX_BUCKETS_PROPERTY
Deprecated.
- please use
setTotalNumBuckets(int) instead.This setting must be the same in all processes using the Region. |
static long |
GLOBAL_MAX_MEMORY_DEFAULT
Default maximum total size of the region across all processes, in megabytes.
|
static String |
GLOBAL_MAX_MEMORY_PROPERTY
Deprecated.
- use
setTotalMaxMemory(long) instead.
The This setting must be the same in all processes using the Region. |
static int |
LOCAL_MAX_MEMORY_DEFAULT
The default maximum amount of memory to be used by this region in this
process, in megabytes.
|
static String |
LOCAL_MAX_MEMORY_PROPERTY
Deprecated.
- please use the
setLocalMaxMemory(int) method instead.
The |
static long |
RECOVERY_DELAY_DEFAULT |
static long |
STARTUP_RECOVERY_DELAY_DEFAULT |
Constructor and Description |
---|
PartitionAttributesFactory()
Creates a new instance of PartitionAttributesFactory ready to create a
PartitionAttributes with default settings. |
PartitionAttributesFactory(PartitionAttributes pa)
Creates a new instance of PartitionAttributesFactory ready to create a
PartitionAttributes with the same settings as those in
the specified PartitionAttributes |
Modifier and Type | Method and Description |
---|---|
PartitionAttributesFactory<K,V> |
addFixedPartitionAttributes(FixedPartitionAttributes fpa)
FixedPartitionAttributes defined for this partitioned region is added to
PR attributes.
|
PartitionAttributesFactory<K,V> |
addPartitionListener(PartitionListener listener)
adds a PartitionListener for the partitioned region.
|
PartitionAttributes<K,V> |
create()
Creates a
PartitionAttributes with the current settings. |
PartitionAttributesFactory<K,V> |
setColocatedWith(String colocatedRegionFullPath)
Sets the name of the PartitionRegion with which this newly created
partitioned region is colocated
|
PartitionAttributesFactory<K,V> |
setGlobalProperties(Properties globalProps)
Deprecated.
use
setTotalMaxMemory(long) and setTotalNumBuckets(int) in GemFire 5.1 and later releases |
PartitionAttributesFactory<K,V> |
setLocalMaxMemory(int mb)
Sets the maximum amount of memory, in megabytes, to be used by the
region in this process.
|
PartitionAttributesFactory<K,V> |
setLocalProperties(Properties localProps)
Deprecated.
use
setLocalMaxMemory(int) in GemFire 5.1 and later releases |
PartitionAttributesFactory<K,V> |
setPartitionResolver(PartitionResolver<K,V> resolver)
Sets the
PartitionResolver for the PartitionRegion. |
PartitionAttributesFactory<K,V> |
setRecoveryDelay(long recoveryDelay)
Sets the delay in milliseconds that
existing members will wait before satisfying redundancy
after another member crashes.
|
PartitionAttributesFactory<K,V> |
setRedundantCopies(int redundantCopies)
Sets the number of extra copies of buckets desired.
|
PartitionAttributesFactory<K,V> |
setStartupRecoveryDelay(long startupRecoveryDelay)
Sets the delay in milliseconds that
new members will wait before satisfying redundancy. -1 indicates
that adding new members will not trigger redundancy recovery.
|
PartitionAttributesFactory<K,V> |
setTotalMaxMemory(long mb)
Sets the maximum amount of memory, in megabytes, to be used by the
region in all processes.
|
PartitionAttributesFactory<K,V> |
setTotalNumBuckets(int numBuckets)
Sets the total number of hash buckets to be used by the region in
all processes.
|
public static final String LOCAL_MAX_MEMORY_PROPERTY
setLocalMaxMemory(int)
method instead.
The local property
name that sets
the maximum heap storage a VM contributes to a partitioned Region. When set
to zero, the resulting Region reference allows access to the partitioned
Region without any consuming any heap storage.
public static final int LOCAL_MAX_MEMORY_DEFAULT
public static final String GLOBAL_MAX_MEMORY_PROPERTY
setTotalMaxMemory(long)
instead.
The global property
name that
defines the total maximum size for the partitioned Region.
This setting must be the same in all processes using the Region.
public static final long GLOBAL_MAX_MEMORY_DEFAULT
public static final String GLOBAL_MAX_BUCKETS_PROPERTY
setTotalNumBuckets(int)
instead.This setting must be the same in all processes using the Region.
public static final int GLOBAL_MAX_BUCKETS_DEFAULT
public static final long RECOVERY_DELAY_DEFAULT
public static final long STARTUP_RECOVERY_DELAY_DEFAULT
public PartitionAttributesFactory()
PartitionAttributes
with default settings.public PartitionAttributesFactory(PartitionAttributes pa)
PartitionAttributes
with the same settings as those in
the specified PartitionAttributes
pa
- the PartitionAttributes
used to initialize this
PartitionAttributesFactorypublic PartitionAttributesFactory<K,V> setRedundantCopies(int redundantCopies)
This setting must be the same in all processes using the Region. Default number of redundant copies is 0.
redundantCopies
- the number of redundant bucket copies, limited to values 0, 1, 2 and 3.public PartitionAttributesFactory<K,V> setLocalMaxMemory(int mb)
public PartitionAttributesFactory<K,V> setTotalMaxMemory(long mb)
This setting must be the same in all processes using the Region. The default value is Integer.MAX_VALUE.
public PartitionAttributesFactory<K,V> setTotalNumBuckets(int numBuckets)
This setting must be the same in all processes using the Region.
A bucket is the smallest unit of data management in a partitioned region.
Entries
are stored in
buckets and buckets may move from one VM to another. Buckets may also have
copies, depending on redundancy
to provide
high availability in the face of VM failure.
The number of buckets should be prime and as a rough guide at the least four
times the number of partition VMs. However, there is significant overhead
to managing a bucket, particularly for higher values of
redundancy
.
public PartitionAttributesFactory<K,V> setPartitionResolver(PartitionResolver<K,V> resolver)
PartitionResolver
for the PartitionRegion.public PartitionAttributesFactory<K,V> setColocatedWith(String colocatedRegionFullPath)
public PartitionAttributesFactory<K,V> setRecoveryDelay(long recoveryDelay)
public PartitionAttributesFactory<K,V> setStartupRecoveryDelay(long startupRecoveryDelay)
public PartitionAttributesFactory<K,V> addPartitionListener(PartitionListener listener)
listener
- @Deprecated public PartitionAttributesFactory<K,V> setLocalProperties(Properties localProps)
setLocalMaxMemory(int)
in GemFire 5.1 and later releasesProperties
for the local instance the partitioned
Region. Local properties define how the local instance of the partitioned
region and any storage it may provide, behaves. There are currently no
non-deprecated local properties.localProps
- @Deprecated public PartitionAttributesFactory<K,V> setGlobalProperties(Properties globalProps)
setTotalMaxMemory(long)
and setTotalNumBuckets(int)
in GemFire 5.1 and later releasesProperties
for the next PartitionAttributes
created. Global properties define how the entire partitioned Region behaves.
Note that global settings must be the same in all processes using the Region.
globalProps
- GLOBAL_MAX_MEMORY_PROPERTY
public PartitionAttributesFactory<K,V> addFixedPartitionAttributes(FixedPartitionAttributes fpa)
public PartitionAttributes<K,V> create()
PartitionAttributes
with the current settings.PartitionAttributes
IllegalStateException
- if the current settings violate the compatibility rules Copyright © 1997-2017 Pivotal Software, Inc. All rights reserved.