Class NearCacheConfig
- java.lang.Object
-
- com.hazelcast.config.NearCacheConfig
-
- All Implemented Interfaces:
NamedConfig
,DataSerializable
,IdentifiedDataSerializable
,java.io.Serializable
public class NearCacheConfig extends java.lang.Object implements IdentifiedDataSerializable, java.io.Serializable, NamedConfig
Contains the configuration for a Near Cache.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NearCacheConfig.LocalUpdatePolicy
Defines how to reflect local updates to the Near Cache.
-
Field Summary
Fields Modifier and Type Field Description static boolean
DEFAULT_INVALIDATE_ON_CHANGE
static NearCacheConfig.LocalUpdatePolicy
DEFAULT_LOCAL_UPDATE_POLICY
static int
DEFAULT_MAX_IDLE_SECONDS
Default value of the maximum idle time for eviction in seconds.static InMemoryFormat
DEFAULT_MEMORY_FORMAT
Default value for the in-memory format.static java.lang.String
DEFAULT_NAME
Default name when it is not set explicitly.static boolean
DEFAULT_SERIALIZE_KEYS
Do not serialize by defaultstatic int
DEFAULT_TTL_SECONDS
Default value of the time to live in seconds.
-
Constructor Summary
Constructors Constructor Description NearCacheConfig()
NearCacheConfig(NearCacheConfig config)
NearCacheConfig(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
int
getClassId()
Returns type identifier for this class.EvictionConfig
getEvictionConfig()
Returns the eviction configuration for this Near Cache.int
getFactoryId()
Returns DataSerializableFactory factory ID for this class.InMemoryFormat
getInMemoryFormat()
Returns the data type used to store entries.NearCacheConfig.LocalUpdatePolicy
getLocalUpdatePolicy()
Returns theNearCacheConfig.LocalUpdatePolicy
of this Near Cache.int
getMaxIdleSeconds()
Returns the maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).java.lang.String
getName()
Returns the name of the Near Cache.NearCachePreloaderConfig
getPreloaderConfig()
Returns theNearCachePreloaderConfig
of this Near Cache.int
getTimeToLiveSeconds()
Returns the maximum number of seconds for each entry to stay in the Near Cache (time to live).int
hashCode()
boolean
isCacheLocalEntries()
Checks if local entries are also cached in the Near Cache.boolean
isInvalidateOnChange()
Checks if Near Cache entries are invalidated when the entries in the backing data structure are changed (updated or removed).boolean
isSerializeKeys()
Checks if the Near Cache key is stored in serialized format or by-reference.void
readData(ObjectDataInput in)
Reads fields from the input streamNearCacheConfig
setCacheLocalEntries(boolean cacheLocalEntries)
Sets if local entries are also cached in the Near Cache.NearCacheConfig
setEvictionConfig(EvictionConfig evictionConfig)
Sets the eviction configuration for this Near Cache.NearCacheConfig
setInMemoryFormat(InMemoryFormat inMemoryFormat)
Sets the data type used to store entries.NearCacheConfig
setInMemoryFormat(java.lang.String inMemoryFormat)
NearCacheConfig
setInvalidateOnChange(boolean invalidateOnChange)
Sets if Near Cache entries are invalidated when the entries in the backing data structure are changed (updated or removed).NearCacheConfig
setLocalUpdatePolicy(NearCacheConfig.LocalUpdatePolicy localUpdatePolicy)
Sets theNearCacheConfig.LocalUpdatePolicy
of this Near Cache.NearCacheConfig
setMaxIdleSeconds(int maxIdleSeconds)
Set the maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).NearCacheConfig
setName(java.lang.String name)
Sets the name of the Near Cache.NearCacheConfig
setPreloaderConfig(NearCachePreloaderConfig preloaderConfig)
Sets theNearCachePreloaderConfig
of this Near Cache.NearCacheConfig
setSerializeKeys(boolean serializeKeys)
Sets if the Near Cache key is stored in serialized format or by-reference.NearCacheConfig
setTimeToLiveSeconds(int timeToLiveSeconds)
Returns the maximum number of seconds for each entry to stay in the Near Cache (time to live).java.lang.String
toString()
void
writeData(ObjectDataOutput out)
Writes object fields to output stream
-
-
-
Field Detail
-
DEFAULT_MEMORY_FORMAT
public static final InMemoryFormat DEFAULT_MEMORY_FORMAT
Default value for the in-memory format.
-
DEFAULT_SERIALIZE_KEYS
public static final boolean DEFAULT_SERIALIZE_KEYS
Do not serialize by default- See Also:
- Constant Field Values
-
DEFAULT_INVALIDATE_ON_CHANGE
public static final boolean DEFAULT_INVALIDATE_ON_CHANGE
-
DEFAULT_LOCAL_UPDATE_POLICY
public static final NearCacheConfig.LocalUpdatePolicy DEFAULT_LOCAL_UPDATE_POLICY
-
DEFAULT_TTL_SECONDS
public static final int DEFAULT_TTL_SECONDS
Default value of the time to live in seconds.- See Also:
- Constant Field Values
-
DEFAULT_MAX_IDLE_SECONDS
public static final int DEFAULT_MAX_IDLE_SECONDS
Default value of the maximum idle time for eviction in seconds.- See Also:
- Constant Field Values
-
DEFAULT_NAME
public static final java.lang.String DEFAULT_NAME
Default name when it is not set explicitly.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NearCacheConfig
public NearCacheConfig()
-
NearCacheConfig
public NearCacheConfig(java.lang.String name)
-
NearCacheConfig
public NearCacheConfig(NearCacheConfig config)
-
-
Method Detail
-
getName
public java.lang.String getName()
Returns the name of the Near Cache.- Specified by:
getName
in interfaceNamedConfig
- Returns:
- the name of the Near Cache
-
setName
public NearCacheConfig setName(java.lang.String name)
Sets the name of the Near Cache.- Specified by:
setName
in interfaceNamedConfig
- Parameters:
name
- the name of the Near Cache- Returns:
- this Near Cache config instance
-
getInMemoryFormat
public InMemoryFormat getInMemoryFormat()
Returns the data type used to store entries.Possible values:
BINARY
: keys and values are stored as binary dataOBJECT
: values are stored in their object formsNATIVE
: keys and values are stored in native memory
BINARY
.- Returns:
- the data type used to store entries
-
setInMemoryFormat
public NearCacheConfig setInMemoryFormat(InMemoryFormat inMemoryFormat)
Sets the data type used to store entries.Possible values:
BINARY
: keys and values are stored as binary dataOBJECT
: values are stored in their object formsNATIVE
: keys and values are stored in native memory
BINARY
.- Parameters:
inMemoryFormat
- the data type used to store entries- Returns:
- this Near Cache config instance
-
setInMemoryFormat
public NearCacheConfig setInMemoryFormat(java.lang.String inMemoryFormat)
-
isSerializeKeys
public boolean isSerializeKeys()
Checks if the Near Cache key is stored in serialized format or by-reference. NOTE: When the in-memory-format isNATIVE
, this method will always returntrue
.- Returns:
true
if the key is stored in serialized format or in-memory-format isNATIVE
,false
if the key is stored by-reference and in-memory-format isBINARY
orOBJECT
-
setSerializeKeys
public NearCacheConfig setSerializeKeys(boolean serializeKeys)
Sets if the Near Cache key is stored in serialized format or by-reference.NOTE: It's not supported to disable the key serialization when the in-memory-format is
NATIVE
. You can still set this value tofalse
, but it will have no effect.- Parameters:
serializeKeys
-true
if the key is stored in serialized format,false
if stored by-reference- Returns:
- this Near Cache config instance
-
isInvalidateOnChange
public boolean isInvalidateOnChange()
Checks if Near Cache entries are invalidated when the entries in the backing data structure are changed (updated or removed).When this setting is enabled, a Hazelcast instance with a Near Cache listens for cluster-wide changes on the entries of the backing data structure and invalidates its corresponding Near Cache entries. Changes done on the local Hazelcast instance always invalidate the Near Cache immediately.
- Returns:
true
if Near Cache invalidations are enabled on changes,false
otherwise
-
setInvalidateOnChange
public NearCacheConfig setInvalidateOnChange(boolean invalidateOnChange)
Sets if Near Cache entries are invalidated when the entries in the backing data structure are changed (updated or removed).When this setting is enabled, a Hazelcast instance with a Near Cache listens for cluster-wide changes on the entries of the backing data structure and invalidates its corresponding Near Cache entries. Changes done on the local Hazelcast instance always invalidate the Near Cache immediately.
- Parameters:
invalidateOnChange
-true
to enable Near Cache invalidations,false
otherwise- Returns:
- this Near Cache config instance
-
getTimeToLiveSeconds
public int getTimeToLiveSeconds()
Returns the maximum number of seconds for each entry to stay in the Near Cache (time to live).Entries that are older than
timeToLiveSeconds
will automatically be evicted from the Near Cache.- Returns:
- the maximum number of seconds for each entry to stay in the Near Cache
-
setTimeToLiveSeconds
public NearCacheConfig setTimeToLiveSeconds(int timeToLiveSeconds)
Returns the maximum number of seconds for each entry to stay in the Near Cache (time to live).Entries that are older than
timeToLiveSeconds
will automatically be evicted from the Near Cache.Accepts any integer between
0
andInteger.MAX_VALUE
. The value0
meansInteger.MAX_VALUE
. The default is0
.- Parameters:
timeToLiveSeconds
- the maximum number of seconds for each entry to stay in the Near Cache- Returns:
- this Near Cache config instance
-
getMaxIdleSeconds
public int getMaxIdleSeconds()
Returns the maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).Entries that are not read (touched) more than
maxIdleSeconds
value will get removed from the Near Cache.- Returns:
- maximum number of seconds each entry can stay in the Near Cache as untouched (not-read)
-
setMaxIdleSeconds
public NearCacheConfig setMaxIdleSeconds(int maxIdleSeconds)
Set the maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).Entries that are not read (touched) more than
maxIdleSeconds
value will get removed from the Near Cache.Accepts any integer between
0
andInteger.MAX_VALUE
. The value0
meansInteger.MAX_VALUE
. The default is0
.- Parameters:
maxIdleSeconds
- maximum number of seconds each entry can stay in the Near Cache as untouched (not-read)- Returns:
- this Near Cache config instance
-
getEvictionConfig
public EvictionConfig getEvictionConfig()
Returns the eviction configuration for this Near Cache.- Returns:
- the eviction configuration
-
setEvictionConfig
public NearCacheConfig setEvictionConfig(EvictionConfig evictionConfig)
Sets the eviction configuration for this Near Cache.- Parameters:
evictionConfig
- the eviction configuration- Returns:
- this Near Cache config instance
-
isCacheLocalEntries
public boolean isCacheLocalEntries()
Checks if local entries are also cached in the Near Cache.This is useful when the in-memory format of the Near Cache is different from the backing data structure. This setting has no meaning on Hazelcast clients, since they have no local entries.
- Returns:
true
if local entries are also cached,false
otherwise
-
setCacheLocalEntries
public NearCacheConfig setCacheLocalEntries(boolean cacheLocalEntries)
Sets if local entries are also cached in the Near Cache.This is useful when the in-memory format of the Near Cache is different from the backing data structure. This setting has no meaning on Hazelcast clients, since they have no local entries.
- Parameters:
cacheLocalEntries
-true
if local entries are also cached,false
otherwise- Returns:
- this Near Cache config instance
-
getLocalUpdatePolicy
public NearCacheConfig.LocalUpdatePolicy getLocalUpdatePolicy()
Returns theNearCacheConfig.LocalUpdatePolicy
of this Near Cache.- Returns:
- the
NearCacheConfig.LocalUpdatePolicy
of this Near Cache
-
setLocalUpdatePolicy
public NearCacheConfig setLocalUpdatePolicy(NearCacheConfig.LocalUpdatePolicy localUpdatePolicy)
Sets theNearCacheConfig.LocalUpdatePolicy
of this Near Cache.This is only implemented for
JCache
data structures.- Parameters:
localUpdatePolicy
- theNearCacheConfig.LocalUpdatePolicy
of this Near Cache- Returns:
- this Near Cache config instance
-
getPreloaderConfig
public NearCachePreloaderConfig getPreloaderConfig()
Returns theNearCachePreloaderConfig
of this Near Cache.- Returns:
- the
NearCachePreloaderConfig
of this Near Cache
-
setPreloaderConfig
public NearCacheConfig setPreloaderConfig(NearCachePreloaderConfig preloaderConfig)
Sets theNearCachePreloaderConfig
of this Near Cache.- Parameters:
preloaderConfig
- theNearCachePreloaderConfig
of this Near Cache- Returns:
- this Near Cache config instance
-
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
public void writeData(ObjectDataOutput out) throws java.io.IOException
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
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 interfaceDataSerializable
- Parameters:
in
- input- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-