Class MapStoreConfig

    • Field Detail

      • DEFAULT_WRITE_DELAY_SECONDS

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

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

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

        public static final boolean DEFAULT_OFFLOAD
        Default offload behavior
        See Also:
        Constant Field Values
    • Constructor Detail

      • MapStoreConfig

        public MapStoreConfig()
    • Method Detail

      • getClassName

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

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

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

        public MapStoreConfig setFactoryClassName​(@Nonnull
                                                  java.lang.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:
        setOffload(boolean)
      • setImplementation

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

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

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

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

        public MapStoreConfig setProperty​(java.lang.String name,
                                          java.lang.String value)
      • getProperty

        public java.lang.String getProperty​(java.lang.String name)
        Returns the given property
        Returns:
        the given property
      • getProperties

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

        public MapStoreConfig setProperties​(java.util.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(boolean)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • 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
      • 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.