Class MapStoreConfig

java.lang.Object
com.hazelcast.config.MapStoreConfig
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable, com.hazelcast.nio.serialization.impl.Versioned

public class MapStoreConfig extends Object implements IdentifiedDataSerializable, com.hazelcast.nio.serialization.impl.Versioned
Contains the configuration for a Map Store.
  • Field Details

    • DEFAULT_WRITE_DELAY_SECONDS

      public static final int DEFAULT_WRITE_DELAY_SECONDS
      Default delay seconds for writing
      See Also:
    • DEFAULT_WRITE_BATCH_SIZE

      public static final int DEFAULT_WRITE_BATCH_SIZE
      Default batch size for writing
      See Also:
    • DEFAULT_WRITE_COALESCING

      public static final boolean DEFAULT_WRITE_COALESCING
      Default write coalescing behavior
      See Also:
    • DEFAULT_OFFLOAD

      public static final boolean DEFAULT_OFFLOAD
      Default offload behavior
      See Also:
  • Constructor Details

    • MapStoreConfig

      public MapStoreConfig()
    • MapStoreConfig

      public MapStoreConfig(MapStoreConfig config)
  • Method Details

    • getClassName

      public String getClassName()
      Returns the name of the MapStore implementation class
      Returns:
      the name of the MapStore implementation class
    • setClassName

      public MapStoreConfig setClassName(@Nonnull String className)
      Sets the name for the MapStore implementation class
      Parameters:
      className - the name to set for the MapStore implementation class
    • getFactoryClassName

      public String getFactoryClassName()
      Returns the name of the MapStoreFactory implementation class
      Returns:
      the name of the MapStoreFactory implementation class
    • setFactoryClassName

      public MapStoreConfig setFactoryClassName(@Nonnull String factoryClassName)
      Sets the name for the MapStoreFactory implementation class
      Parameters:
      factoryClassName - the name to set for the MapStoreFactory implementation class
    • getWriteDelaySeconds

      public int getWriteDelaySeconds()
      Returns the number of seconds to delay the store writes.
      Returns:
      the number of seconds to delay the store writes
    • setWriteDelaySeconds

      public MapStoreConfig setWriteDelaySeconds(int writeDelaySeconds)
      Sets the number of seconds to delay before writing (storing) the dirty records

      Default value is 0.

      Parameters:
      writeDelaySeconds - the number of seconds to delay before writing the dirty records
    • getWriteBatchSize

      public int getWriteBatchSize()
      Returns the number of operations to be included in each batch processing round.
      Returns:
      write batch size: the number of operations to be included in each batch processing round
    • setWriteBatchSize

      public MapStoreConfig setWriteBatchSize(int writeBatchSize)
      Sets the number of operations to be included in each batch processing round.

      Default value is 1.

      Parameters:
      writeBatchSize - the number of operations to be included in each batch processing round
    • isEnabled

      public boolean isEnabled()
      Returns if this configuration is enabled
      Returns:
      true if this configuration is enabled, false otherwise
    • setEnabled

      public MapStoreConfig setEnabled(boolean enabled)
      Enables and disables this configuration
      Parameters:
      enabled - true to enables this configuration, false to disable
    • setOffload

      public MapStoreConfig setOffload(boolean offload)
      Default value is true.

      MapStore interaction can be slow compared to in-memory processing of data, to make partition threads available during MapStore interaction for other cluster operations, MapStore/MapLoader implementations are offloaded from partition threads to a different thread pool by default.

      If you set this property to false, MapStore interaction will be done on partition threads. This may introduce latency for other operations which don't require MapStore interaction.

      Parameters:
      offload - set true to enable offloading, otherwise set false
      Since:
      5.2
    • isOffload

      public boolean isOffload()
      Default value is true.

      Enables and disables offloading behavior.

      Returns:
      true if this configuration is enabled, false otherwise
      Since:
      5.2
      See Also:
    • setImplementation

      public MapStoreConfig setImplementation(@Nonnull Object implementation)
      Sets the map store implementation object
      Parameters:
      implementation - the map store implementation object to set
      Returns:
      this MapStoreConfig instance
    • getImplementation

      public Object getImplementation()
      Returns the map store implementation object.
      Returns:
      the map store implementation object
    • setFactoryImplementation

      public MapStoreConfig setFactoryImplementation(@Nonnull Object factoryImplementation)
      Sets the map store factory implementation object.
      Parameters:
      factoryImplementation - the factory implementation object
      Returns:
      this MapStoreConfig instance
    • getFactoryImplementation

      public Object getFactoryImplementation()
      Returns the map store factory implementation object.
      Returns:
      the map store factory implementation object
    • setProperty

      public MapStoreConfig setProperty(String name, String value)
    • getProperty

      public String getProperty(String name)
      Returns the given property
      Returns:
      the given property
    • getProperties

      public Properties getProperties()
      Returns all the properties
      Returns:
      all the properties
    • setProperties

      public MapStoreConfig setProperties(Properties properties)
      Sets the properties
      Parameters:
      properties - the properties to be set
      Returns:
      this MapStoreConfig
    • getInitialLoadMode

      public MapStoreConfig.InitialLoadMode getInitialLoadMode()
      Returns the initial load mode.
      Returns:
      the initial load mode object
    • setInitialLoadMode

      public MapStoreConfig setInitialLoadMode(MapStoreConfig.InitialLoadMode initialLoadMode)
      Sets the initial load mode.
      • LAZY: Default load mode where load is async
      • EAGER: load mode where load is blocked till all partitions are loaded
      Parameters:
      initialLoadMode - the initial load mode object
    • isWriteCoalescing

      public boolean isWriteCoalescing()
      Returns true if write-coalescing is enabled.
      Returns:
      true if coalescing enabled, false otherwise
      See Also:
    • setWriteCoalescing

      public MapStoreConfig setWriteCoalescing(boolean writeCoalescing)
      Setting writeCoalescing is meaningful if you are using write-behind MapStore.

      When writeCoalescing is true, only the latest store operation on a key in the writeDelaySeconds time-window will be reflected to MapStore.

      Default value is true.

      Parameters:
      writeCoalescing - true to enable write-coalescing, otherwise false.
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

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

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • 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.