Class HashConfigurationBuilder
java.lang.Object
org.infinispan.configuration.cache.HashConfigurationBuilder
- All Implemented Interfaces:
Builder<HashConfiguration>
,ClusteringConfigurationChildBuilder
,ConfigurationChildBuilder
Allows fine-tuning of rehashing characteristics. Must only used with 'distributed' cache mode.
- Author:
- pmuir
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
capacityFactor
(float capacityFactor) Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster.consistentHashFactory
(ConsistentHashFactory<? extends ConsistentHash> consistentHashFactory) Deprecated, for removal: This API element is subject to removal in a future version.Since 11.0.create()
Create the configuration beanDeprecated, for removal: This API element is subject to removal in a future version.Since 10.0, custom interceptors support will be removed and only modules will be able to define interceptorsencoding()
protected ConfigurationBuilder
protected ClusteringConfigurationBuilder
groups()
hash()
Allows fine-tuning of rehashing characteristics.indexing()
keyPartitioner
(KeyPartitioner keyPartitioner) Key partitioner, controlling the mapping of keys to hash segments.l1()
Configures the L1 cache behavior in 'distributed' caches instances.locking()
memory()
numOwners
(int numOwners) Number of cluster-wide replicas for each cache entry.numSegments
(int numSegments) Controls the total number of hash space segments (per cluster).Configures how the cache will react to cluster partitions.query()
read
(HashConfiguration template, Combine combine) Reads the configuration from an already created configuration bean into this builder.security()
boolean
simpleCache
(boolean simpleCache) sites()
Configures how state is transferred when a new cache joins the cluster.template
(boolean template) toString()
unsafe()
void
validate()
Validate the data in this builder before building the configuration beanvoid
validate
(GlobalConfiguration globalConfig) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.infinispan.configuration.cache.ConfigurationChildBuilder
build, clustering, customInterceptors, encoding, expiration, indexing, invocationBatching, jmxStatistics, locking, memory, persistence, query, security, simpleCache, simpleCache, sites, statistics, template, transaction, unsafe
-
Field Details
-
builder
-
-
Method Details
-
attributes
- Specified by:
attributes
in interfaceBuilder<HashConfiguration>
-
consistentHashFactory
@Deprecated(forRemoval=true) public HashConfigurationBuilder consistentHashFactory(ConsistentHashFactory<? extends ConsistentHash> consistentHashFactory) Deprecated, for removal: This API element is subject to removal in a future version.Since 11.0. Will be removed in 14.0, the segment allocation will no longer be customizable.The consistent hash factory in use. -
numOwners
Number of cluster-wide replicas for each cache entry. -
numSegments
Controls the total number of hash space segments (per cluster).A hash space segment is the granularity for key distribution in the cluster: a node can own (or primary-own) one or more full segments, but not a fraction of a segment. As such, very small
numSegments
values (< 10 segments per node) will make the distribution of keys between nodes more uneven.The recommended value is 20 * the expected cluster size.
Note: The value returned by
ConsistentHash.getNumSegments()
may be different, e.g. rounded up to a power of 2.- Parameters:
numSegments
- the number of hash space segments. Must be strictly positive.
-
capacityFactor
Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster. This is just a suggestion, there is no guarantee that a node with a capacity factor of2
will have twice as many entries as a node with a capacity factor of1
.- Parameters:
capacityFactor
- the capacity factor for the local node. Must be positive.
-
keyPartitioner
Key partitioner, controlling the mapping of keys to hash segments.The default implementation is
org.infinispan.distribution.ch.impl.HashFunctionPartitioner
, usesMurmurHash3
.- Since:
- 8.2
-
groups
-
validate
public void validate()Description copied from interface:Builder
Validate the data in this builder before building the configuration bean- Specified by:
validate
in interfaceBuilder<HashConfiguration>
-
validate
- Specified by:
validate
in interfaceConfigurationChildBuilder
-
create
Description copied from interface:Builder
Create the configuration bean- Specified by:
create
in interfaceBuilder<HashConfiguration>
- Returns:
-
read
Description copied from interface:Builder
Reads the configuration from an already created configuration bean into this builder. Returns an appropriate builder to allow fluent configuration- Specified by:
read
in interfaceBuilder<HashConfiguration>
- Parameters:
template
- the configuration from which to "clone" this config if needed.combine
- the way attributes and children of this instance and the template should be combined.
-
toString
-
hash
Description copied from interface:ClusteringConfigurationChildBuilder
Allows fine-tuning of rehashing characteristics. Must only used with 'distributed' cache mode.- Specified by:
hash
in interfaceClusteringConfigurationChildBuilder
-
l1
Description copied from interface:ClusteringConfigurationChildBuilder
Configures the L1 cache behavior in 'distributed' caches instances. In any other cache modes, this element is ignored.- Specified by:
l1
in interfaceClusteringConfigurationChildBuilder
-
stateTransfer
Description copied from interface:ClusteringConfigurationChildBuilder
Configures how state is transferred when a new cache joins the cluster. Used with distribution and replication clustered modes.- Specified by:
stateTransfer
in interfaceClusteringConfigurationChildBuilder
-
partitionHandling
Description copied from interface:ClusteringConfigurationChildBuilder
Configures how the cache will react to cluster partitions.- Specified by:
partitionHandling
in interfaceClusteringConfigurationChildBuilder
-
getClusteringBuilder
-
template
- Specified by:
template
in interfaceConfigurationChildBuilder
-
simpleCache
- Specified by:
simpleCache
in interfaceConfigurationChildBuilder
-
simpleCache
public boolean simpleCache()- Specified by:
simpleCache
in interfaceConfigurationChildBuilder
-
clustering
- Specified by:
clustering
in interfaceConfigurationChildBuilder
-
customInterceptors
Deprecated, for removal: This API element is subject to removal in a future version.Since 10.0, custom interceptors support will be removed and only modules will be able to define interceptors- Specified by:
customInterceptors
in interfaceConfigurationChildBuilder
-
encoding
- Specified by:
encoding
in interfaceConfigurationChildBuilder
-
expiration
- Specified by:
expiration
in interfaceConfigurationChildBuilder
-
query
- Specified by:
query
in interfaceConfigurationChildBuilder
-
indexing
- Specified by:
indexing
in interfaceConfigurationChildBuilder
-
invocationBatching
- Specified by:
invocationBatching
in interfaceConfigurationChildBuilder
-
statistics
- Specified by:
statistics
in interfaceConfigurationChildBuilder
-
persistence
- Specified by:
persistence
in interfaceConfigurationChildBuilder
-
locking
- Specified by:
locking
in interfaceConfigurationChildBuilder
-
security
- Specified by:
security
in interfaceConfigurationChildBuilder
-
transaction
- Specified by:
transaction
in interfaceConfigurationChildBuilder
-
unsafe
- Specified by:
unsafe
in interfaceConfigurationChildBuilder
-
sites
- Specified by:
sites
in interfaceConfigurationChildBuilder
-
memory
- Specified by:
memory
in interfaceConfigurationChildBuilder
-
getBuilder
-
build
- Specified by:
build
in interfaceConfigurationChildBuilder
-