Class HashConfigurationBuilder
- java.lang.Object
-
- org.infinispan.configuration.cache.HashConfigurationBuilder
-
- All Implemented Interfaces:
BaseConfigurationInfo
,Builder<HashConfiguration>
,ConfigurationBuilderInfo
,ClusteringConfigurationChildBuilder
,ConfigurationChildBuilder
public class HashConfigurationBuilder extends Object implements Builder<HashConfiguration>, ConfigurationBuilderInfo
Allows fine-tuning of rehashing characteristics. Must only used with 'distributed' cache mode.- Author:
- pmuir
-
-
Field Summary
Fields Modifier and Type Field Description protected ConfigurationBuilder
builder
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description org.infinispan.commons.configuration.attributes.AttributeSet
attributes()
Configuration
build()
HashConfigurationBuilder
capacityFactor(float capacityFactor)
Controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster.ClusteringConfigurationBuilder
clustering()
HashConfigurationBuilder
consistentHashFactory(ConsistentHashFactory<? extends ConsistentHash> consistentHashFactory)
The consistent hash factory in use.HashConfiguration
create()
Create the configuration beanCustomInterceptorsConfigurationBuilder
customInterceptors()
Deprecated.Since 10.0, custom interceptors support will be removed and only modules will be able to define interceptorsEncodingConfigurationBuilder
encoding()
ExpirationConfigurationBuilder
expiration()
protected ConfigurationBuilder
getBuilder()
Collection<ConfigurationBuilderInfo>
getChildrenInfo()
protected ClusteringConfigurationBuilder
getClusteringBuilder()
org.infinispan.commons.configuration.elements.ElementDefinition
getElementDefinition()
GroupsConfigurationBuilder
groups()
HashConfigurationBuilder
hash()
Allows fine-tuning of rehashing characteristics.IndexingConfigurationBuilder
indexing()
InvocationBatchingConfigurationBuilder
invocationBatching()
HashConfigurationBuilder
keyPartitioner(KeyPartitioner keyPartitioner)
Key partitioner, controlling the mapping of keys to hash segments.L1ConfigurationBuilder
l1()
Configures the L1 cache behavior in 'distributed' caches instances.LockingConfigurationBuilder
locking()
MemoryConfigurationBuilder
memory()
HashConfigurationBuilder
numOwners(int numOwners)
Number of cluster-wide replicas for each cache entry.HashConfigurationBuilder
numSegments(int numSegments)
Controls the total number of hash space segments (per cluster).PartitionHandlingConfigurationBuilder
partitionHandling()
Configures how the cache will react to cluster partitions.PersistenceConfigurationBuilder
persistence()
HashConfigurationBuilder
read(HashConfiguration template)
Reads the configuration from an already created configuration bean into this builder.SecurityConfigurationBuilder
security()
boolean
simpleCache()
ConfigurationChildBuilder
simpleCache(boolean simpleCache)
SitesConfigurationBuilder
sites()
StateTransferConfigurationBuilder
stateTransfer()
Configures how state is transferred when a new cache joins the cluster.StatisticsConfigurationBuilder
statistics()
ConfigurationChildBuilder
template(boolean template)
String
toString()
TransactionConfigurationBuilder
transaction()
UnsafeConfigurationBuilder
unsafe()
void
validate()
Validate the data in this builder before building the configuration beanvoid
validate(GlobalConfiguration globalConfig)
-
Methods inherited from interface org.infinispan.commons.configuration.ConfigurationBuilderInfo
getBuilderInfo, getNewBuilderInfo
-
Methods inherited from interface org.infinispan.configuration.cache.ConfigurationChildBuilder
build, clustering, customInterceptors, encoding, expiration, indexing, invocationBatching, jmxStatistics, locking, memory, persistence, security, simpleCache, simpleCache, sites, statistics, template, transaction, unsafe
-
-
-
-
Field Detail
-
builder
protected final ConfigurationBuilder builder
-
-
Method Detail
-
getElementDefinition
public org.infinispan.commons.configuration.elements.ElementDefinition getElementDefinition()
- Specified by:
getElementDefinition
in interfaceBaseConfigurationInfo
- Returns:
- the
ElementDefinition
of the configuration.
-
consistentHashFactory
public HashConfigurationBuilder consistentHashFactory(ConsistentHashFactory<? extends ConsistentHash> consistentHashFactory)
The consistent hash factory in use.
-
numOwners
public HashConfigurationBuilder numOwners(int numOwners)
Number of cluster-wide replicas for each cache entry.
-
numSegments
public HashConfigurationBuilder numSegments(int 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, larger
numSegments
values will mean a more even distribution of keys between nodes.On the other hand, the memory/bandwidth usage of the new consistent hash grows linearly with
numSegments
. So we recommend keepingnumSegments <= 10 * clusterSize
.- Parameters:
numSegments
- the number of hash space segments. Must be strictly positive.
-
capacityFactor
public HashConfigurationBuilder capacityFactor(float 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
public HashConfigurationBuilder keyPartitioner(KeyPartitioner 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
public GroupsConfigurationBuilder 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
public void validate(GlobalConfiguration globalConfig)
- Specified by:
validate
in interfaceConfigurationChildBuilder
-
create
public HashConfiguration create()
Description copied from interface:Builder
Create the configuration bean- Specified by:
create
in interfaceBuilder<HashConfiguration>
- Returns:
-
read
public HashConfigurationBuilder read(HashConfiguration template)
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.
-
toString
public String toString()
-
attributes
public org.infinispan.commons.configuration.attributes.AttributeSet attributes()
- Specified by:
attributes
in interfaceBaseConfigurationInfo
- Returns:
- the
AttributeSet
declared by the configuration.
-
getChildrenInfo
public Collection<ConfigurationBuilderInfo> getChildrenInfo()
- Specified by:
getChildrenInfo
in interfaceConfigurationBuilderInfo
- Returns:
- a collection of
ConfigurationBuilderInfo
for the sub-elements of the builder.
-
hash
public HashConfigurationBuilder 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
public L1ConfigurationBuilder 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
public StateTransferConfigurationBuilder 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
public PartitionHandlingConfigurationBuilder partitionHandling()
Description copied from interface:ClusteringConfigurationChildBuilder
Configures how the cache will react to cluster partitions.- Specified by:
partitionHandling
in interfaceClusteringConfigurationChildBuilder
-
getClusteringBuilder
protected ClusteringConfigurationBuilder getClusteringBuilder()
-
template
public ConfigurationChildBuilder template(boolean template)
- Specified by:
template
in interfaceConfigurationChildBuilder
-
simpleCache
public ConfigurationChildBuilder simpleCache(boolean simpleCache)
- Specified by:
simpleCache
in interfaceConfigurationChildBuilder
-
simpleCache
public boolean simpleCache()
- Specified by:
simpleCache
in interfaceConfigurationChildBuilder
-
clustering
public ClusteringConfigurationBuilder clustering()
- Specified by:
clustering
in interfaceConfigurationChildBuilder
-
customInterceptors
@Deprecated public CustomInterceptorsConfigurationBuilder customInterceptors()
Deprecated.Since 10.0, custom interceptors support will be removed and only modules will be able to define interceptors- Specified by:
customInterceptors
in interfaceConfigurationChildBuilder
-
encoding
public EncodingConfigurationBuilder encoding()
- Specified by:
encoding
in interfaceConfigurationChildBuilder
-
expiration
public ExpirationConfigurationBuilder expiration()
- Specified by:
expiration
in interfaceConfigurationChildBuilder
-
indexing
public IndexingConfigurationBuilder indexing()
- Specified by:
indexing
in interfaceConfigurationChildBuilder
-
invocationBatching
public InvocationBatchingConfigurationBuilder invocationBatching()
- Specified by:
invocationBatching
in interfaceConfigurationChildBuilder
-
statistics
public StatisticsConfigurationBuilder statistics()
- Specified by:
statistics
in interfaceConfigurationChildBuilder
-
persistence
public PersistenceConfigurationBuilder persistence()
- Specified by:
persistence
in interfaceConfigurationChildBuilder
-
locking
public LockingConfigurationBuilder locking()
- Specified by:
locking
in interfaceConfigurationChildBuilder
-
security
public SecurityConfigurationBuilder security()
- Specified by:
security
in interfaceConfigurationChildBuilder
-
transaction
public TransactionConfigurationBuilder transaction()
- Specified by:
transaction
in interfaceConfigurationChildBuilder
-
unsafe
public UnsafeConfigurationBuilder unsafe()
- Specified by:
unsafe
in interfaceConfigurationChildBuilder
-
sites
public SitesConfigurationBuilder sites()
- Specified by:
sites
in interfaceConfigurationChildBuilder
-
memory
public MemoryConfigurationBuilder memory()
- Specified by:
memory
in interfaceConfigurationChildBuilder
-
getBuilder
protected ConfigurationBuilder getBuilder()
-
build
public Configuration build()
- Specified by:
build
in interfaceConfigurationChildBuilder
-
-