Class QueryCacheConfig

java.lang.Object
com.hazelcast.config.QueryCacheConfig
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable

public class QueryCacheConfig extends Object implements IdentifiedDataSerializable
Contains configuration for QueryCache.
Since:
3.5
  • Field Details

    • DEFAULT_BATCH_SIZE

      public static final int DEFAULT_BATCH_SIZE
      By default, after reaching this minimum size, node immediately sends buffered events to QueryCache.
      See Also:
    • DEFAULT_BUFFER_SIZE

      public static final int DEFAULT_BUFFER_SIZE
      By default, only buffer last DEFAULT_BUFFER_SIZE events fired from a partition.
      See Also:
    • DEFAULT_DELAY_SECONDS

      public static final int DEFAULT_DELAY_SECONDS
      Default value of delay seconds which an event wait in the buffer of a node, before sending to QueryCache.
      See Also:
    • DEFAULT_INCLUDE_VALUE

      public static final boolean DEFAULT_INCLUDE_VALUE
      By default, also cache values of entries besides keys.
      See Also:
    • DEFAULT_POPULATE

      public static final boolean DEFAULT_POPULATE
      By default, execute an initial population query prior to creation of the QueryCache.
      See Also:
    • DEFAULT_COALESCE

      public static final boolean DEFAULT_COALESCE
      Default value of coalesce property.
      See Also:
    • DEFAULT_SERIALIZE_KEYS

      public static final boolean DEFAULT_SERIALIZE_KEYS
      Do not serialize given keys by default.
      See Also:
    • DEFAULT_IN_MEMORY_FORMAT

      public static final InMemoryFormat DEFAULT_IN_MEMORY_FORMAT
      By default, hold values of entries in QueryCache as binary.
  • Constructor Details

    • QueryCacheConfig

      public QueryCacheConfig()
    • QueryCacheConfig

      public QueryCacheConfig(String name)
    • QueryCacheConfig

      public QueryCacheConfig(QueryCacheConfig other)
  • Method Details

    • getName

      public String getName()
      Returns the name of QueryCache.
      Returns:
      the name of QueryCache
    • setName

      @Nonnull public QueryCacheConfig setName(@Nonnull String name)
      Sets the name of QueryCache.
      Parameters:
      name - the name of QueryCache
      Returns:
      this QueryCacheConfig instance
    • getPredicateConfig

      public PredicateConfig getPredicateConfig()
      Returns the predicate of QueryCache.
      Returns:
      the predicate of QueryCache
    • setPredicateConfig

      @Nonnull public QueryCacheConfig setPredicateConfig(PredicateConfig predicateConfig)
      Sets the predicate of QueryCache.
      Parameters:
      predicateConfig - config for predicate
      Returns:
      this QueryCacheConfig instance
    • getBatchSize

      public int getBatchSize()
      After reaching this size, node sends buffered events to QueryCache.
      Returns:
      the batch size
    • setBatchSize

      public QueryCacheConfig setBatchSize(int batchSize)
      Sets the batch size which will be used to determine number of events to be sent in a batch to QueryCache
      Parameters:
      batchSize - the batch size
      Returns:
      this QueryCacheConfig instance
    • getBufferSize

      public int getBufferSize()
      Returns the maximum number of events which can be stored in a buffer of partition.
      Returns:
      the maximum number of events which can be stored in a buffer of partition
    • setBufferSize

      public QueryCacheConfig setBufferSize(int bufferSize)
      Sets the maximum number of events which can be stored in a buffer of partition.
      Parameters:
      bufferSize - the buffer size
      Returns:
      this QueryCacheConfig instance
    • getDelaySeconds

      public int getDelaySeconds()
      Returns the minimum number of delay seconds which an event waits in the buffer of node before sending to a QueryCache
      Returns:
      delay seconds
    • setDelaySeconds

      public QueryCacheConfig setDelaySeconds(int delaySeconds)
      Sets the minimum number of delay seconds which an event waits in the buffer of node before sending to a QueryCache
      Parameters:
      delaySeconds - the delay seconds
      Returns:
      this QueryCacheConfig instance
    • getInMemoryFormat

      public InMemoryFormat getInMemoryFormat()
      Returns memory format of values of entries in QueryCache.

      Default value is binary.

      Returns:
      memory format of values of entries in QueryCache
    • setInMemoryFormat

      @Nonnull public QueryCacheConfig setInMemoryFormat(InMemoryFormat inMemoryFormat)
      Sets memory format of values of entries in QueryCache.

      Performance trade off: When set to InMemoryFormat.OBJECT, value returning operations may expose references to cached objects. This avoids serialisation and copying, but mutations can affect cached values and leave configured indexes inconsistent. Use InMemoryFormat.BINARY when detached values are required.

      Default value is binary.

      Parameters:
      inMemoryFormat - the memory format
      Returns:
      this QueryCacheConfig instance
    • isIncludeValue

      public boolean isIncludeValue()
      Returns true if value caching enabled, otherwise returns false.

      Default value is true.

      Returns:
      true if value caching enabled, otherwise returns false
    • setIncludeValue

      @Nonnull public QueryCacheConfig setIncludeValue(boolean includeValue)
      Set true to enable value caching, otherwise set false

      Default value is true.

      Parameters:
      includeValue - Set true if value caching is enabled, otherwise set false
      Returns:
      this QueryCacheConfig instance
    • isPopulate

      public boolean isPopulate()
      Returns true if initial population of QueryCache is enabled, otherwise returns false.

      Default value is true.

      Returns:
      true if initial population of QueryCache is enabled, otherwise returns false
    • setPopulate

      public QueryCacheConfig setPopulate(boolean populate)
      Set true to enable initial population, otherwise set false.

      Default value is true.

      Parameters:
      populate - set true to enable initial population, otherwise set false
      Returns:
      this QueryCacheConfig instance
    • isCoalesce

      public boolean isCoalesce()
      Returns true if coalescing is enabled, otherwise returns false.

      Default value is false.

      Returns:
      true if coalescing is enabled, otherwise returns false
      See Also:
    • setCoalesce

      public QueryCacheConfig setCoalesce(boolean coalesce)
      Set true to enable coalescing, otherwise set false. This setting is only valid if QueryCacheConfig#delaySeconds is greater than 0.

      Default value is false.

      Parameters:
      coalesce - set true to enable, otherwise set false
    • isSerializeKeys

      public boolean isSerializeKeys()
      Checks if the QueryCache key is stored in serialized format or by-reference.
      Returns:
      true if the key is stored in serialized format, false if the key is stored by-reference
    • setSerializeKeys

      @Nonnull public QueryCacheConfig setSerializeKeys(boolean serializeKeys)
      Sets if the QueryCache key is stored in serialized format or by-reference.
      Parameters:
      serializeKeys - true if the key is stored in serialized format, false if stored by-reference
      Returns:
      this QueryCacheConfig instance
    • getEvictionConfig

      public EvictionConfig getEvictionConfig()
      Returns EvictionConfig instance for this QueryCache
      Returns:
      the EvictionConfig instance for this QueryCache
    • setEvictionConfig

      @Nonnull public QueryCacheConfig setEvictionConfig(EvictionConfig evictionConfig)
      Sets the EvictionConfig instance for this QueryCache
      Parameters:
      evictionConfig - the EvictionConfig instance for eviction configuration to set
      Returns:
      this QueryCacheConfig instance
    • addEntryListenerConfig

      @Nonnull public QueryCacheConfig addEntryListenerConfig(EntryListenerConfig listenerConfig)
      Adds EntryListenerConfig to this QueryCacheConfig.
      Parameters:
      listenerConfig - the EntryListenerConfig to add
      Returns:
      this QueryCacheConfig instance
    • getEntryListenerConfigs

      public List<EntryListenerConfig> getEntryListenerConfigs()
    • setEntryListenerConfigs

      public QueryCacheConfig setEntryListenerConfigs(List<EntryListenerConfig> listenerConfigs)
    • addIndexConfig

      public QueryCacheConfig addIndexConfig(IndexConfig indexConfig)
    • getIndexConfigs

      public List<IndexConfig> getIndexConfigs()
    • setIndexConfigs

      public QueryCacheConfig setIndexConfigs(List<IndexConfig> indexConfigs)
    • getFactoryId

      public int getFactoryId()
      Description copied from interface: IdentifiedDataSerializable
      Returns DataSerializableFactory factory ID for this class.
      Specified by:
      getFactoryId in interface IdentifiedDataSerializable
      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 interface IdentifiedDataSerializable
      Returns:
      type ID
    • writeData

      public void writeData(ObjectDataOutput out) throws IOException
      Description copied from interface: DataSerializable
      Writes object fields to output stream
      Specified by:
      writeData in interface DataSerializable
      Parameters:
      out - output
      Throws:
      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 IOException
      Description copied from interface: DataSerializable
      Reads fields from the input stream
      Specified by:
      readData in interface DataSerializable
      Parameters:
      in - input
      Throws:
      IOException - if an I/O error occurs. In particular, an IOException may be thrown if the input stream has been closed.
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object