Class MapConfig

    • Field Detail

      • MIN_BACKUP_COUNT

        public static final int MIN_BACKUP_COUNT
        The minimum number of backups
        See Also:
        Constant Field Values
      • DEFAULT_BACKUP_COUNT

        public static final int DEFAULT_BACKUP_COUNT
        The default number of backups
        See Also:
        Constant Field Values
      • MAX_BACKUP_COUNT

        public static final int MAX_BACKUP_COUNT
        The maximum number of backups
        See Also:
        Constant Field Values
      • DISABLED_TTL_SECONDS

        public static final int DISABLED_TTL_SECONDS
        The number of Time to Live that represents disabling TTL.
        See Also:
        Constant Field Values
      • DEFAULT_TTL_SECONDS

        public static final int DEFAULT_TTL_SECONDS
        The number of default Time to Live in seconds.
        See Also:
        Constant Field Values
      • DEFAULT_MAX_IDLE_SECONDS

        public static final int DEFAULT_MAX_IDLE_SECONDS
        The number of default time to wait eviction in seconds.
        See Also:
        Constant Field Values
      • DEFAULT_IN_MEMORY_FORMAT

        public static final InMemoryFormat DEFAULT_IN_MEMORY_FORMAT
        Default In-Memory format is binary.
      • DEFAULT_CACHED_DESERIALIZED_VALUES

        public static final CacheDeserializedValues DEFAULT_CACHED_DESERIALIZED_VALUES
        We want to cache values only when an index is defined.
      • DEFAULT_METADATA_POLICY

        public static final MetadataPolicy DEFAULT_METADATA_POLICY
        Default metadata policy
      • DEFAULT_STATISTICS_ENABLED

        public static final boolean DEFAULT_STATISTICS_ENABLED
        Default value of whether statistics are enabled or not
        See Also:
        Constant Field Values
      • DEFAULT_ENTRY_STATS_ENABLED

        public static final boolean DEFAULT_ENTRY_STATS_ENABLED
        Default value of whether per entry statistics are enabled or not
        See Also:
        Constant Field Values
      • DEFAULT_MAX_SIZE

        public static final int DEFAULT_MAX_SIZE
        Default max size.
        See Also:
        Constant Field Values
      • DEFAULT_MAX_SIZE_POLICY

        public static final MaxSizePolicy DEFAULT_MAX_SIZE_POLICY
        Default max size policy
      • DEFAULT_EVICTION_POLICY

        public static final EvictionPolicy DEFAULT_EVICTION_POLICY
        Default eviction policy
    • Constructor Detail

      • MapConfig

        public MapConfig()
      • MapConfig

        public MapConfig​(java.lang.String name)
      • MapConfig

        public MapConfig​(MapConfig config)
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of this IMap
        Specified by:
        getName in interface NamedConfig
        Returns:
        the name of the IMap
      • setName

        public MapConfig setName​(java.lang.String name)
        Sets the name of the IMap
        Specified by:
        setName in interface NamedConfig
        Parameters:
        name - the name to set for this IMap
      • getInMemoryFormat

        public InMemoryFormat getInMemoryFormat()
        Returns the data type that will be used for storing records.
        Returns:
        data type that will be used for storing records
      • setInMemoryFormat

        public MapConfig setInMemoryFormat​(InMemoryFormat inMemoryFormat)
        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 this IMap
        Throws:
        java.lang.IllegalArgumentException - if inMemoryFormat is null
      • setEvictionConfig

        public MapConfig setEvictionConfig​(EvictionConfig evictionConfig)
        Sets the EvictionConfig instance for eviction configuration for this IMap.
        Parameters:
        evictionConfig - the EvictionConfig instance to set for the eviction configuration
        Returns:
        current map config instance
      • getBackupCount

        public int getBackupCount()
        Returns the backupCount for this IMap
        Returns:
        the backupCount for this IMap
        See Also:
        getAsyncBackupCount()
      • setBackupCount

        public MapConfig setBackupCount​(int backupCount)
        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 this IMap
        Returns:
        the updated MapConfig
        See Also:
        setAsyncBackupCount(int)
      • getAsyncBackupCount

        public int getAsyncBackupCount()
        Returns the asynchronous backup count for this IMap.
        Returns:
        the asynchronous backup count
        See Also:
        setBackupCount(int)
      • setAsyncBackupCount

        public MapConfig setAsyncBackupCount​(int asyncBackupCount)
        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:
        java.lang.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:
        setBackupCount(int), getAsyncBackupCount()
      • 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

        public MapConfig setTimeToLiveSeconds​(int timeToLiveSeconds)
        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

        public MapConfig setMaxIdleSeconds​(int maxIdleSeconds)
        Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than maxIdleSeconds will get automatically evicted from the map. Entry is touched if get(), getAll(), put() or containsKey() is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. Default is 0. 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

        public MapStoreConfig getMapStoreConfig()
        Returns the map store configuration
        Returns:
        the mapStoreConfig (map store configuration)
      • setMapStoreConfig

        public MapConfig setMapStoreConfig​(MapStoreConfig mapStoreConfig)
        Sets the map store configuration
        Parameters:
        mapStoreConfig - the mapStoreConfig (map store configuration) to set
      • getNearCacheConfig

        public NearCacheConfig getNearCacheConfig()
        Returns the Near Cache configuration
        Returns:
        the Near Cache configuration
      • setNearCacheConfig

        public MapConfig setNearCacheConfig​(NearCacheConfig nearCacheConfig)
        Sets the Near Cache configuration
        Parameters:
        nearCacheConfig - the Near Cache configuration
        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

        public MapConfig setStatisticsEnabled​(boolean statisticsEnabled)
        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:
        setPerEntryStatsEnabled(boolean)
      • 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

        public MapConfig setPerEntryStatsEnabled​(boolean perEntryStatsEnabled)
        Set to enable/disable per entry statistics. Its default value is false. 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

        public MapConfig setReadBackupData​(boolean readBackupData)
        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

        public WanReplicationRef getWanReplicationRef()
        Gets the WAN target replication reference.
        Returns:
        the WAN target replication reference
      • setWanReplicationRef

        public MapConfig setWanReplicationRef​(WanReplicationRef wanReplicationRef)
        Sets the WAN target replication reference.
        Parameters:
        wanReplicationRef - the WAN target replication reference
        Returns:
        the current map config instance
      • getEntryListenerConfigs

        public java.util.List<EntryListenerConfig> getEntryListenerConfigs()
      • getIndexConfigs

        public java.util.List<IndexConfig> getIndexConfigs()
      • getAttributeConfigs

        public java.util.List<AttributeConfig> getAttributeConfigs()
      • setMetadataPolicy

        public MapConfig setMetadataPolicy​(MetadataPolicy metadataPolicy)
        Sets the metadata policy. See MetadataPolicy for more information.
        Parameters:
        metadataPolicy - the metadata policy
      • addQueryCacheConfig

        public MapConfig addQueryCacheConfig​(QueryCacheConfig queryCacheConfig)
        Adds a new QueryCacheConfig to this MapConfig.
        Parameters:
        queryCacheConfig - the config to be added
        Returns:
        this MapConfig instance
        Throws:
        java.lang.IllegalArgumentException - if there is already a QueryCache with the same QueryCacheConfig#name
      • isNearCacheEnabled

        public boolean isNearCacheEnabled()
        Checks if Near Cache is enabled.
        Returns:
        true if Near Cache is enabled, false otherwise
      • getHotRestartConfig

        @Nonnull
        public HotRestartConfig getHotRestartConfig()
        Gets the HotRestartConfig for this MapConfig
        Returns:
        hot restart config
      • getDataPersistenceConfig

        @Nonnull
        public DataPersistenceConfig getDataPersistenceConfig()
        Gets the DataPersistenceConfig for this MapConfig
        Returns:
        dataPersistenceConfig config
      • setDataPersistenceConfig

        public MapConfig setDataPersistenceConfig​(@Nonnull
                                                  DataPersistenceConfig dataPersistenceConfig)
        Sets the DataPersistenceConfig for this MapConfig
        Parameters:
        dataPersistenceConfig - dataPersistenceConfig config
        Returns:
        this MapConfig instance
      • getMerkleTreeConfig

        @Nonnull
        public MerkleTreeConfig getMerkleTreeConfig()
        Gets the MerkleTreeConfig for this MapConfig
        Returns:
        merkle tree config
      • setMerkleTreeConfig

        public MapConfig setMerkleTreeConfig​(@Nonnull
                                             MerkleTreeConfig merkleTreeConfig)
        Sets the MerkleTreeConfig for this MapConfig
        Parameters:
        merkleTreeConfig - merkle tree config
        Returns:
        this MapConfig instance
      • getEventJournalConfig

        @Nonnull
        public EventJournalConfig getEventJournalConfig()
        Gets the EventJournalConfig for this MapConfig
        Returns:
        event journal config
      • setEventJournalConfig

        public MapConfig setEventJournalConfig​(@Nonnull
                                               EventJournalConfig eventJournalConfig)
        Sets the EventJournalConfig for this MapConfig
        Parameters:
        eventJournalConfig - event journal config
        Returns:
        this MapConfig instance
      • getTieredStoreConfig

        public TieredStoreConfig getTieredStoreConfig()
        Gets the TieredStoreConfig for this MapConfig
        Returns:
        tiered-store config
      • setTieredStoreConfig

        public MapConfig setTieredStoreConfig​(TieredStoreConfig tieredStoreConfig)
        Sets the TieredStoreConfig for this MapConfig
        Parameters:
        tieredStoreConfig - tiered-store config
        Returns:
        this MapConfig instance
      • getCacheDeserializedValues

        public CacheDeserializedValues getCacheDeserializedValues()
        Get current value cache settings
        Returns:
        current value cache settings
        Since:
        3.6
      • getSplitBrainProtectionName

        public java.lang.String getSplitBrainProtectionName()
      • setSplitBrainProtectionName

        public MapConfig setSplitBrainProtectionName​(java.lang.String splitBrainProtectionName)
      • equals

        public final boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • writeData

        public void writeData​(ObjectDataOutput out)
                       throws java.io.IOException
        Description copied from interface: DataSerializable
        Writes object fields to output stream
        Specified by:
        writeData in interface DataSerializable
        Parameters:
        out - output
        Throws:
        java.io.IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
      • readData

        public void readData​(ObjectDataInput in)
                      throws java.io.IOException
        Description copied from interface: DataSerializable
        Reads fields from the input stream
        Specified by:
        readData in interface DataSerializable
        Parameters:
        in - input
        Throws:
        java.io.IOException - if an I/O error occurs. In particular, an IOException may be thrown if the input stream has been closed.