Package com.hazelcast.config
Class MapConfig
java.lang.Object
com.hazelcast.config.MapConfig
- All Implemented Interfaces:
NamedConfig
,UserCodeNamespaceAwareConfig<MapConfig>
,DataSerializable
,IdentifiedDataSerializable
,com.hazelcast.nio.serialization.impl.Versioned
public class MapConfig
extends Object
implements IdentifiedDataSerializable, NamedConfig, com.hazelcast.nio.serialization.impl.Versioned, UserCodeNamespaceAwareConfig<MapConfig>
Contains the configuration for an
IMap
.-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The default number of backupsstatic final CacheDeserializedValues
We want to cache values only when an index is defined.static final boolean
Default value of whether per entry statistics are enabled or notstatic final EvictionPolicy
Default eviction policystatic final InMemoryFormat
Default In-Memory format is binary.static final int
The number of default time to wait eviction in seconds.static final int
Default max size.static final MaxSizePolicy
Default max size policystatic final MetadataPolicy
Default metadata policystatic final boolean
Default value of whether statistics are enabled or notstatic final int
The number of default Time to Live in seconds.static final int
The number of Time to Live that represents disabling TTL.static final int
The maximum number of backupsstatic final int
The minimum number of backupsFields inherited from interface com.hazelcast.config.UserCodeNamespaceAwareConfig
DEFAULT_NAMESPACE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddAttributeConfig
(AttributeConfig attributeConfig) addEntryListenerConfig
(EntryListenerConfig listenerConfig) addIndexConfig
(IndexConfig indexConfig) addMapPartitionLostListenerConfig
(MapPartitionLostListenerConfig listenerConfig) addQueryCacheConfig
(QueryCacheConfig queryCacheConfig) Adds a newQueryCacheConfig
to thisMapConfig
.final boolean
int
Returns the asynchronous backup count for thisIMap
.int
Returns the backupCount for thisIMap
Get current value cache settingsint
Returns type identifier for this class.Gets theDataPersistenceConfig
for thisMapConfig
Gets theEventJournalConfig
for thisMapConfig
Gets theEvictionConfig
instance of the eviction configuration for thisIMap
.int
Returns DataSerializableFactory factory ID for this class.Gets theHotRestartConfig
for thisMapConfig
Returns the data type that will be used for storing records.Returns the map store configurationint
Returns the maximum number of seconds for each entry to stay idle in the map.Gets theMergePolicyConfig
for this map.Gets theMerkleTreeConfig
for thisMapConfig
ReturnsMetadataPolicy
for this map.getName()
Returns the name of thisIMap
Returns the Near Cache configurationGet Partition Attribute configs used for creation ofAttributePartitioningStrategy
Returns allQueryCacheConfig
instances defined on thisMapConfig
.Gets theTieredStoreConfig
for thisMapConfig
int
Returns the maximum number of seconds for each entry to stay in the map.int
Returns the total number of backups: backupCount plus asyncBackupCount.Retrieve the User Code Deployment Namespace to be used forClassLoader
awareness during operations related to the structure associated with this configuration.Gets the WAN target replication reference.final int
hashCode()
boolean
Checks if Near Cache is enabled.boolean
Checks if entry level statistics are enabled for this map.boolean
Checks if read-backup-data (reading local backup entries) is enabled for this map.boolean
Checks if statistics are enabled for this map.void
Reads fields from the input streamsetAsyncBackupCount
(int asyncBackupCount) Sets the number of asynchronous backups. 0 means no backups.setAttributeConfigs
(List<AttributeConfig> attributeConfigs) setBackupCount
(int backupCount) Number of synchronous backups.setCacheDeserializedValues
(CacheDeserializedValues cacheDeserializedValues) Configure de-serialized value caching.setDataPersistenceConfig
(DataPersistenceConfig dataPersistenceConfig) Sets theDataPersistenceConfig
for thisMapConfig
setEntryListenerConfigs
(List<EntryListenerConfig> listenerConfigs) setEventJournalConfig
(EventJournalConfig eventJournalConfig) Sets theEventJournalConfig
for thisMapConfig
setEvictionConfig
(EvictionConfig evictionConfig) Sets theEvictionConfig
instance for eviction configuration for thisIMap
.setHotRestartConfig
(HotRestartConfig hotRestartConfig) Deprecated.setIndexConfigs
(List<IndexConfig> indexConfigs) setInMemoryFormat
(InMemoryFormat inMemoryFormat) Binary type that will be used for storing records.setMapStoreConfig
(MapStoreConfig mapStoreConfig) Sets the map store configurationsetMaxIdleSeconds
(int maxIdleSeconds) Maximum number of seconds for each entry to stay idle in the map.setMergePolicyConfig
(MergePolicyConfig mergePolicyConfig) Sets theMergePolicyConfig
for this map.setMerkleTreeConfig
(MerkleTreeConfig merkleTreeConfig) Sets theMerkleTreeConfig
for thisMapConfig
setMetadataPolicy
(MetadataPolicy metadataPolicy) Sets the metadata policy.Sets the name of theIMap
setNearCacheConfig
(NearCacheConfig nearCacheConfig) Sets the Near Cache configurationsetPartitioningAttributeConfigs
(List<PartitioningAttributeConfig> partitioningAttributeConfigs) setPartitioningStrategyConfig
(PartitioningStrategyConfig partitioningStrategyConfig) setPartitionLostListenerConfigs
(List<MapPartitionLostListenerConfig> listenerConfigs) setPerEntryStatsEnabled
(boolean perEntryStatsEnabled) Set to enable/disable per entry statistics.setQueryCacheConfigs
(List<QueryCacheConfig> queryCacheConfigs) SetsQueryCacheConfig
instances to thisMapConfig
.setReadBackupData
(boolean readBackupData) Sets read-backup-data (reading local backup entries) for this map.setSplitBrainProtectionName
(String splitBrainProtectionName) setStatisticsEnabled
(boolean statisticsEnabled) Set to enable/disable map level statistics for this map.setTieredStoreConfig
(TieredStoreConfig tieredStoreConfig) Sets theTieredStoreConfig
for thisMapConfig
setTimeToLiveSeconds
(int timeToLiveSeconds) The maximum number of seconds for each entry to stay in the map.setUserCodeNamespace
(String userCodeNamespace) Associates the provided Namespace Name with this structure forClassLoader
awareness.setWanReplicationRef
(WanReplicationRef wanReplicationRef) Sets the WAN target replication reference.toString()
void
Writes object fields to output stream
-
Field Details
-
MIN_BACKUP_COUNT
public static final int MIN_BACKUP_COUNTThe minimum number of backups- See Also:
-
DEFAULT_BACKUP_COUNT
public static final int DEFAULT_BACKUP_COUNTThe default number of backups- See Also:
-
MAX_BACKUP_COUNT
public static final int MAX_BACKUP_COUNTThe maximum number of backups- See Also:
-
DISABLED_TTL_SECONDS
public static final int DISABLED_TTL_SECONDSThe number of Time to Live that represents disabling TTL.- See Also:
-
DEFAULT_TTL_SECONDS
public static final int DEFAULT_TTL_SECONDSThe number of default Time to Live in seconds.- See Also:
-
DEFAULT_MAX_IDLE_SECONDS
public static final int DEFAULT_MAX_IDLE_SECONDSThe number of default time to wait eviction in seconds.- See Also:
-
DEFAULT_IN_MEMORY_FORMAT
Default In-Memory format is binary. -
DEFAULT_CACHED_DESERIALIZED_VALUES
We want to cache values only when an index is defined. -
DEFAULT_METADATA_POLICY
Default metadata policy -
DEFAULT_STATISTICS_ENABLED
public static final boolean DEFAULT_STATISTICS_ENABLEDDefault value of whether statistics are enabled or not- See Also:
-
DEFAULT_ENTRY_STATS_ENABLED
public static final boolean DEFAULT_ENTRY_STATS_ENABLEDDefault value of whether per entry statistics are enabled or not- See Also:
-
DEFAULT_MAX_SIZE
public static final int DEFAULT_MAX_SIZEDefault max size.- See Also:
-
DEFAULT_MAX_SIZE_POLICY
Default max size policy -
DEFAULT_EVICTION_POLICY
Default eviction policy
-
-
Constructor Details
-
MapConfig
public MapConfig() -
MapConfig
-
MapConfig
-
-
Method Details
-
getName
Returns the name of thisIMap
- Specified by:
getName
in interfaceNamedConfig
- Returns:
- the name of the
IMap
-
setName
Sets the name of theIMap
- Specified by:
setName
in interfaceNamedConfig
- Parameters:
name
- the name to set for thisIMap
-
getInMemoryFormat
Returns the data type that will be used for storing records.- Returns:
- data type that will be used for storing records
-
setInMemoryFormat
Binary type that will be used for storing records. Possible values:- BINARY (default): keys and values will be stored as binary data
- OBJECT: values will be stored in their object forms
- NATIVE: values will be stored in non-heap region of JVM (Hazelcast Enterprise only)
- Parameters:
inMemoryFormat
- the record type to set for thisIMap
- Throws:
IllegalArgumentException
- if inMemoryFormat isnull
-
getEvictionConfig
Gets theEvictionConfig
instance of the eviction configuration for thisIMap
.- Returns:
- the
EvictionConfig
instance of the eviction configuration
-
setEvictionConfig
Sets theEvictionConfig
instance for eviction configuration for thisIMap
.- Parameters:
evictionConfig
- theEvictionConfig
instance to set for the eviction configuration- Returns:
- current map config instance
-
getBackupCount
public int getBackupCount()Returns the backupCount for thisIMap
- Returns:
- the backupCount for this
IMap
- See Also:
-
setBackupCount
Number of synchronous backups. For example, if 1 is set as the backup count, then all entries of the map will be copied to another JVM for fail-safety. 0 means no sync backup.- Parameters:
backupCount
- the number of synchronous backups to set for thisIMap
- Returns:
- the updated MapConfig
- See Also:
-
getAsyncBackupCount
public int getAsyncBackupCount()Returns the asynchronous backup count for thisIMap
.- Returns:
- the asynchronous backup count
- See Also:
-
setAsyncBackupCount
Sets the number of asynchronous backups. 0 means no backups.- Parameters:
asyncBackupCount
- the number of asynchronous synchronous backups to set- Returns:
- the updated MapConfig
- Throws:
IllegalArgumentException
- if asyncBackupCount smaller than 0, or larger than the maximum number of backup or the sum of the backups and async backups is larger than the maximum number of backups- See Also:
-
getTotalBackupCount
public int getTotalBackupCount()Returns the total number of backups: backupCount plus asyncBackupCount.- Returns:
- the total number of backups: synchronous + asynchronous
-
getTimeToLiveSeconds
public int getTimeToLiveSeconds()Returns the maximum number of seconds for each entry to stay in the map.- Returns:
- the maximum number of seconds for each entry to stay in the map
-
setTimeToLiveSeconds
The maximum number of seconds for each entry to stay in the map. Entries that are older than timeToLiveSeconds will be automatically evicted from the map. Updates on the entry will change the eviction time. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. Default is 0.- Parameters:
timeToLiveSeconds
- the timeToLiveSeconds to set
-
getMaxIdleSeconds
public int getMaxIdleSeconds()Returns the maximum number of seconds for each entry to stay idle in the map.- Returns:
- the maximum number of seconds for each entry to stay idle in the map
-
setMaxIdleSeconds
Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more thanmaxIdleSeconds
will get automatically evicted from the map. Entry is touched ifget()
,getAll()
,put()
orcontainsKey()
is called. Any integer between0
andInteger.MAX_VALUE
.0
means infinite. Default is0
. The time precision is limited by 1 second. The MaxIdle that less than 1 second can lead to unexpected behaviour.- Parameters:
maxIdleSeconds
- the maxIdleSeconds (the maximum number of seconds for each entry to stay idle in the map) to set
-
getMapStoreConfig
Returns the map store configuration- Returns:
- the mapStoreConfig (map store configuration)
-
setMapStoreConfig
Sets the map store configuration- Parameters:
mapStoreConfig
- the mapStoreConfig (map store configuration) to set
-
getNearCacheConfig
Returns the Near Cache configuration- Returns:
- the Near Cache configuration
-
setNearCacheConfig
Sets the Near Cache configuration- Parameters:
nearCacheConfig
- the Near Cache configuration- Returns:
- the updated map configuration
-
getMergePolicyConfig
Gets theMergePolicyConfig
for this map.- Returns:
- the
MergePolicyConfig
for this map
-
setMergePolicyConfig
Sets theMergePolicyConfig
for this map.Note that you may need to enable per entry stats via
setPerEntryStatsEnabled(boolean)
to see all fields of entry view in yourSplitBrainMergePolicy
implementation.- Returns:
- the updated map configuration
-
isStatisticsEnabled
public boolean isStatisticsEnabled()Checks if statistics are enabled for this map.- Returns:
true
if statistics are enabled,false
otherwise
-
setStatisticsEnabled
Set to enable/disable map level statistics for this map.This setting is only for map level stats such as last access time to map, total number of hits etc. For entry level stats see
perEntryStatsEnabled
- Parameters:
statisticsEnabled
-true
to enable map statistics,false
to disable- Returns:
- the current map config instance
- See Also:
-
isPerEntryStatsEnabled
public boolean isPerEntryStatsEnabled()Checks if entry level statistics are enabled for this map.- Returns:
true
if entry level statistics are enabled,false
otherwise- Since:
- 4.2
-
setPerEntryStatsEnabled
Set to enable/disable per entry statistics. Its default value isfalse
.When you enable per entry stats, you can retrieve entry level statistics such as hits, creation time, last access time, last update time, last stored time for an entry.
- Parameters:
perEntryStatsEnabled
-true
to enable entry level statistics,false
to disable- Returns:
- the current map config instance
- Since:
- 4.2
-
isReadBackupData
public boolean isReadBackupData()Checks if read-backup-data (reading local backup entries) is enabled for this map.- Returns:
true
if read-backup-data is enabled,false
otherwise
-
setReadBackupData
Sets read-backup-data (reading local backup entries) for this map.- Parameters:
readBackupData
-true
to enable read-backup-data,false
to disable- Returns:
- the current map config instance
-
getWanReplicationRef
Gets the WAN target replication reference.- Returns:
- the WAN target replication reference
-
setWanReplicationRef
Sets the WAN target replication reference.- Parameters:
wanReplicationRef
- the WAN target replication reference- Returns:
- the current map config instance
-
addEntryListenerConfig
-
getEntryListenerConfigs
-
setEntryListenerConfigs
-
addMapPartitionLostListenerConfig
-
getPartitionLostListenerConfigs
-
setPartitionLostListenerConfigs
public MapConfig setPartitionLostListenerConfigs(List<MapPartitionLostListenerConfig> listenerConfigs) -
addIndexConfig
-
getIndexConfigs
-
setIndexConfigs
-
addAttributeConfig
-
getAttributeConfigs
-
setAttributeConfigs
-
getMetadataPolicy
ReturnsMetadataPolicy
for this map.- Returns:
MetadataPolicy
for this map
-
setMetadataPolicy
Sets the metadata policy. SeeMetadataPolicy
for more information.- Parameters:
metadataPolicy
- the metadata policy
-
addQueryCacheConfig
Adds a newQueryCacheConfig
to thisMapConfig
.- Parameters:
queryCacheConfig
- the config to be added- Returns:
- this
MapConfig
instance - Throws:
IllegalArgumentException
- if there is already aQueryCache
with the sameQueryCacheConfig#name
-
getQueryCacheConfigs
Returns allQueryCacheConfig
instances defined on thisMapConfig
.- Returns:
- all
QueryCacheConfig
instances defined on thisMapConfig
-
setQueryCacheConfigs
SetsQueryCacheConfig
instances to thisMapConfig
.- Returns:
- this configuration
-
getPartitioningStrategyConfig
-
setPartitioningStrategyConfig
public MapConfig setPartitioningStrategyConfig(PartitioningStrategyConfig partitioningStrategyConfig) -
isNearCacheEnabled
public boolean isNearCacheEnabled()Checks if Near Cache is enabled.- Returns:
true
if Near Cache is enabled,false
otherwise
-
setCacheDeserializedValues
Configure de-serialized value caching. Default:CacheDeserializedValues.INDEX_ONLY
- Returns:
- this
MapConfig
instance - Since:
- 3.6
- See Also:
-
getHotRestartConfig
Gets theHotRestartConfig
for thisMapConfig
- Returns:
- hot restart config
-
getDataPersistenceConfig
Gets theDataPersistenceConfig
for thisMapConfig
- Returns:
- dataPersistenceConfig config
-
setHotRestartConfig
Deprecated.since 5.0 usesetDataPersistenceConfig(DataPersistenceConfig)
Sets theHotRestartConfig
for thisMapConfig
- Parameters:
hotRestartConfig
- hot restart config- Returns:
- this
MapConfig
instance
-
setDataPersistenceConfig
Sets theDataPersistenceConfig
for thisMapConfig
- Parameters:
dataPersistenceConfig
- dataPersistenceConfig config- Returns:
- this
MapConfig
instance
-
getMerkleTreeConfig
Gets theMerkleTreeConfig
for thisMapConfig
- Returns:
- merkle tree config
-
setMerkleTreeConfig
Sets theMerkleTreeConfig
for thisMapConfig
- Parameters:
merkleTreeConfig
- merkle tree config- Returns:
- this
MapConfig
instance
-
getEventJournalConfig
Gets theEventJournalConfig
for thisMapConfig
- Returns:
- event journal config
-
setEventJournalConfig
Sets theEventJournalConfig
for thisMapConfig
- Parameters:
eventJournalConfig
- event journal config- Returns:
- this
MapConfig
instance
-
getTieredStoreConfig
Gets theTieredStoreConfig
for thisMapConfig
- Returns:
- tiered-store config
-
setTieredStoreConfig
Sets theTieredStoreConfig
for thisMapConfig
- Parameters:
tieredStoreConfig
- tiered-store config- Returns:
- this
MapConfig
instance
-
getCacheDeserializedValues
Get current value cache settings- Returns:
- current value cache settings
- Since:
- 3.6
-
getSplitBrainProtectionName
-
setSplitBrainProtectionName
-
getPartitioningAttributeConfigs
Get Partition Attribute configs used for creation ofAttributePartitioningStrategy
- Returns:
- list of partitioning attribute configs
-
setPartitioningAttributeConfigs
public MapConfig setPartitioningAttributeConfigs(List<PartitioningAttributeConfig> partitioningAttributeConfigs) -
getUserCodeNamespace
Retrieve the User Code Deployment Namespace to be used forClassLoader
awareness during operations related to the structure associated with this configuration.- Specified by:
getUserCodeNamespace
in interfaceUserCodeNamespaceAwareConfig<MapConfig>
- Returns:
- Namespace Name for use with the
UserCodeNamespaceService
, ornull
if there is no User Code Namespace to associate with.
-
setUserCodeNamespace
Associates the provided Namespace Name with this structure forClassLoader
awareness.The behaviour of setting this to
null
is outlined in the documentation forUserCodeNamespaceAwareConfig.DEFAULT_NAMESPACE
.- Specified by:
setUserCodeNamespace
in interfaceUserCodeNamespaceAwareConfig<MapConfig>
- Parameters:
userCodeNamespace
- The ID of the Namespace to associate with this structure.- Returns:
- the updated
MapConfig
instance - Since:
- 5.4
-
equals
-
hashCode
public final int hashCode() -
toString
-
getFactoryId
public int getFactoryId()Description copied from interface:IdentifiedDataSerializable
Returns DataSerializableFactory factory ID for this class.- Specified by:
getFactoryId
in interfaceIdentifiedDataSerializable
- Returns:
- factory ID
-
getClassId
public int getClassId()Description copied from interface:IdentifiedDataSerializable
Returns type identifier for this class. It should be unique per DataSerializableFactory.- Specified by:
getClassId
in interfaceIdentifiedDataSerializable
- Returns:
- type ID
-
writeData
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the output stream has been closed.
-
readData
Description copied from interface:DataSerializable
Reads fields from the input stream- Specified by:
readData
in interfaceDataSerializable
- Parameters:
in
- input- Throws:
IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
setDataPersistenceConfig(DataPersistenceConfig)