Class QueueStoreConfig

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

public class QueueStoreConfig
extends Object
implements IdentifiedDataSerializable
Configuration for the QueueStore.
  • Field Details

    • DEFAULT_MEMORY_LIMIT

      public static final int DEFAULT_MEMORY_LIMIT
      The default number of queue item values to keep in memory. This value is ignored if there is no queue store enabled or if the queue is a priority queue.
      See Also:
      Constant Field Values
    • DEFAULT_BULK_LOAD

      public static final int DEFAULT_BULK_LOAD
      The default size of batches in which the queue will be loaded from the queue store. This value is ignored if the queue is a priority queue. In that case, the queue is loaded fully during initialisation.
      See Also:
      Constant Field Values
    • STORE_BINARY

      public static final String STORE_BINARY
      Binary: By default, Hazelcast stores the queue items in serialized form in memory. Before it inserts the queue items into datastore, it deserializes them. But if you will not reach the queue store from an external application, you might prefer that the items be inserted in binary form. You can get rid of the de-serialization step; this would be a performance optimization. The binary feature is disabled by default.
      See Also:
      Constant Field Values
    • STORE_MEMORY_LIMIT

      public static final String STORE_MEMORY_LIMIT
      Memory Limit: This is the number of items after which Hazelcast will store items only to datastore. For example, if the memory limit is 1000, then the 1001st item will be put only to datastore. This feature is useful when you want to avoid out-of-memory conditions. The default number for memory-limit is 1000. If you want to always use memory, you can set it to Integer.MAX_VALUE.
      See Also:
      Constant Field Values
    • STORE_BULK_LOAD

      public static final String STORE_BULK_LOAD
      Bulk Load: When the queue is initialized, items are loaded from QueueStore in bulks. Bulk load is the size of these bulks. By default, bulk-load is 250.
      See Also:
      Constant Field Values
  • Constructor Details

    • QueueStoreConfig

      public QueueStoreConfig()
    • QueueStoreConfig

      public QueueStoreConfig​(QueueStoreConfig config)
  • Method Details

    • getStoreImplementation

      @Nullable public QueueStore getStoreImplementation()
      Returns the implementation of the queue store which will be used to store queue items.
    • setStoreImplementation

      public QueueStoreConfig setStoreImplementation​(@Nonnull QueueStore storeImplementation)
      Sets the implementation of the queue store which will be used to store queue items.
      Parameters:
      storeImplementation - the implementation to store queue items
      Returns:
      this configuration
      Throws:
      NullPointerException - if the provided implementation is null
    • isEnabled

      public boolean isEnabled()
      Returns true if the queue store is enabled, false otherwise.
    • setEnabled

      public QueueStoreConfig setEnabled​(boolean enabled)
      Enables or disables the queue store.
      Parameters:
      enabled - true to enable the queue store, false to disable it
      Returns:
      this configuration
    • getClassName

      @Nullable public String getClassName()
      Returns the class name of the queue store implementation to be used when instantiating the queue store.
    • setClassName

      public QueueStoreConfig setClassName​(@Nonnull String className)
      Sets the class name of the queue store implementation to be used when instantiating the queue store. The class should implement the QueueStore interface.
      Parameters:
      className - the queue store class name
      Returns:
      this configuration
    • getProperties

      public Properties getProperties()
      Returns the properties to be used when instantiating the queue store. Some properties are used by Hazelcast to determine how to interact with the queue store (see STORE_MEMORY_LIMIT, STORE_BINARY and STORE_BULK_LOAD).
    • setProperties

      public QueueStoreConfig setProperties​(Properties properties)
      Sets the properties to be used when instantiating the queue store. Some properties are used by Hazelcast to determine how to interact with the queue store (see STORE_MEMORY_LIMIT, STORE_BINARY and STORE_BULK_LOAD).
      Parameters:
      properties - the properties to be used when instantiating the queue store
      Returns:
      this configuration
    • getProperty

      public String getProperty​(String name)
      Returns the property with the given name which is used when instantiating and interacting with the queue store.
      Parameters:
      name - the property name
      Returns:
      the property value
    • setProperty

      public QueueStoreConfig setProperty​(String name, String value)
      Sets a property to be used when instantiating the queue store. Some properties are used by Hazelcast to determine how to interact with the queue store (see STORE_MEMORY_LIMIT, STORE_BINARY and STORE_BULK_LOAD).
      Parameters:
      name - the property name
      value - the property value
      Returns:
      this configuration
    • getFactoryClassName

      @Nullable public String getFactoryClassName()
      Returns the factory class name which will be used to instantiate the queue store. The class should implement the QueueStoreFactory interface.
    • setFactoryClassName

      public QueueStoreConfig setFactoryClassName​(@Nonnull String factoryClassName)
      Sets the factory class name which will be used to instantiate the queue store. The class should implement the QueueStoreFactory interface.
      Parameters:
      factoryClassName - the queue store factory class name
      Returns:
      this configuration
    • getFactoryImplementation

      @Nullable public QueueStoreFactory getFactoryImplementation()
      Returns the queue store factory implementation which will be used to instantiate the queue store. The class should implement the QueueStoreFactory interface.
    • setFactoryImplementation

      public QueueStoreConfig setFactoryImplementation​(@Nonnull QueueStoreFactory factoryImplementation)
      Sets the queue store factory implementation which will be used to instantiate the queue store. The class should implement the QueueStoreFactory interface.
      Parameters:
      factoryImplementation - the queue store factory implementation
      Returns:
      this configuration
    • toString

      public String toString()
      Overrides:
      toString 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.
    • equals

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

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