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
Fields -
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 ConfigurationBuilderprotected ClusteringConfigurationBuildergroups()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()booleansimpleCache(boolean simpleCache) sites()Configures how state is transferred when a new cache joins the cluster.template(boolean template) toString()unsafe()voidvalidate()Validate the data in this builder before building the configuration beanvoidvalidate(GlobalConfiguration globalConfig) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
attributesin 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
numSegmentsvalues (< 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 of2will 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:BuilderValidate the data in this builder before building the configuration bean- Specified by:
validatein interfaceBuilder<HashConfiguration>
-
validate
- Specified by:
validatein interfaceConfigurationChildBuilder
-
create
Description copied from interface:BuilderCreate the configuration bean- Specified by:
createin interfaceBuilder<HashConfiguration>- Returns:
-
read
Description copied from interface:BuilderReads the configuration from an already created configuration bean into this builder. Returns an appropriate builder to allow fluent configuration- Specified by:
readin 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:ClusteringConfigurationChildBuilderAllows fine-tuning of rehashing characteristics. Must only used with 'distributed' cache mode.- Specified by:
hashin interfaceClusteringConfigurationChildBuilder
-
l1
Description copied from interface:ClusteringConfigurationChildBuilderConfigures the L1 cache behavior in 'distributed' caches instances. In any other cache modes, this element is ignored.- Specified by:
l1in interfaceClusteringConfigurationChildBuilder
-
stateTransfer
Description copied from interface:ClusteringConfigurationChildBuilderConfigures how state is transferred when a new cache joins the cluster. Used with distribution and replication clustered modes.- Specified by:
stateTransferin interfaceClusteringConfigurationChildBuilder
-
partitionHandling
Description copied from interface:ClusteringConfigurationChildBuilderConfigures how the cache will react to cluster partitions.- Specified by:
partitionHandlingin interfaceClusteringConfigurationChildBuilder
-
getClusteringBuilder
-
template
- Specified by:
templatein interfaceConfigurationChildBuilder
-
simpleCache
- Specified by:
simpleCachein interfaceConfigurationChildBuilder
-
simpleCache
public boolean simpleCache()- Specified by:
simpleCachein interfaceConfigurationChildBuilder
-
clustering
- Specified by:
clusteringin 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:
customInterceptorsin interfaceConfigurationChildBuilder
-
encoding
- Specified by:
encodingin interfaceConfigurationChildBuilder
-
expiration
- Specified by:
expirationin interfaceConfigurationChildBuilder
-
query
- Specified by:
queryin interfaceConfigurationChildBuilder
-
indexing
- Specified by:
indexingin interfaceConfigurationChildBuilder
-
invocationBatching
- Specified by:
invocationBatchingin interfaceConfigurationChildBuilder
-
statistics
- Specified by:
statisticsin interfaceConfigurationChildBuilder
-
persistence
- Specified by:
persistencein interfaceConfigurationChildBuilder
-
locking
- Specified by:
lockingin interfaceConfigurationChildBuilder
-
security
- Specified by:
securityin interfaceConfigurationChildBuilder
-
transaction
- Specified by:
transactionin interfaceConfigurationChildBuilder
-
unsafe
- Specified by:
unsafein interfaceConfigurationChildBuilder
-
sites
- Specified by:
sitesin interfaceConfigurationChildBuilder
-
memory
- Specified by:
memoryin interfaceConfigurationChildBuilder
-
getBuilder
-
build
- Specified by:
buildin interfaceConfigurationChildBuilder
-