Class QueueConfig

    • Field Detail

      • DEFAULT_MAX_SIZE

        public static final int DEFAULT_MAX_SIZE
        Default value for the maximum size of the Queue.
        See Also:
        Constant Field Values
      • DEFAULT_SYNC_BACKUP_COUNT

        public static final int DEFAULT_SYNC_BACKUP_COUNT
        Default value for the synchronous backup count.
        See Also:
        Constant Field Values
      • DEFAULT_ASYNC_BACKUP_COUNT

        public static final int DEFAULT_ASYNC_BACKUP_COUNT
        Default value of the asynchronous backup count.
        See Also:
        Constant Field Values
      • DEFAULT_EMPTY_QUEUE_TTL

        public static final int DEFAULT_EMPTY_QUEUE_TTL
        Default value for the TTL (time to live) for empty Queue.
        See Also:
        Constant Field Values
    • Constructor Detail

      • QueueConfig

        public QueueConfig()
      • QueueConfig

        public QueueConfig​(java.lang.String name)
      • QueueConfig

        public QueueConfig​(QueueConfig config)
    • Method Detail

      • getEmptyQueueTtl

        public int getEmptyQueueTtl()
        Returns the TTL (time to live) for emptying the Queue.
        Returns:
        the TTL (time to live) for emptying the Queue
      • setEmptyQueueTtl

        public QueueConfig setEmptyQueueTtl​(int emptyQueueTtl)
        Sets the TTL (time to live) for emptying the Queue.
        Parameters:
        emptyQueueTtl - set the TTL (time to live) for emptying the Queue to this value
        Returns:
        the Queue configuration
      • getMaxSize

        public int getMaxSize()
        Returns the maximum size of the Queue.
        Returns:
        the maximum size of the Queue
      • setMaxSize

        public QueueConfig setMaxSize​(int maxSize)
        Sets the maximum size of the Queue.
        Parameters:
        maxSize - set the maximum size of the Queue to this value
        Returns:
        the Queue configuration
        Throws:
        java.lang.IllegalArgumentException - if the provided max size is negative
      • getTotalBackupCount

        public int getTotalBackupCount()
        Get the total number of backups: the backup count plus the asynchronous backup count.
        Returns:
        the total number of backups
      • getBackupCount

        public int getBackupCount()
        Get the number of synchronous backups for this queue.
        Returns:
        the synchronous backup count
      • setBackupCount

        public QueueConfig setBackupCount​(int backupCount)
        Sets the number of synchronous backups for this queue.
        Parameters:
        backupCount - the number of synchronous backups to set
        Returns:
        the current QueueConfig
        Throws:
        java.lang.IllegalArgumentException - if backupCount is smaller than 0, or larger than the maximum number of backups, or the sum of the backups and async backups is larger than the maximum number of backups
        See Also:
        setAsyncBackupCount(int)
      • getAsyncBackupCount

        public int getAsyncBackupCount()
        Get the number of asynchronous backups for this queue.
        Returns:
        the number of asynchronous backups
      • setAsyncBackupCount

        public QueueConfig setAsyncBackupCount​(int asyncBackupCount)
        Sets the number of asynchronous backups. 0 means no backups.
        Parameters:
        asyncBackupCount - the number of asynchronous synchronous backups to set
        Returns:
        the updated QueueConfig
        Throws:
        java.lang.IllegalArgumentException - if asyncBackupCount smaller than 0, or larger than the maximum number of backup or the sum of the backups and async backups is larger than the maximum number of backups
        See Also:
        setBackupCount(int), getAsyncBackupCount()
      • getQueueStoreConfig

        @Nullable
        public QueueStoreConfig getQueueStoreConfig()
        Get the QueueStore (load and store queue items from/to a database) configuration.
        Returns:
        the QueueStore configuration
      • setQueueStoreConfig

        public QueueConfig setQueueStoreConfig​(@Nullable
                                               QueueStoreConfig queueStoreConfig)
        Set the QueueStore (load and store queue items from/to a database) configuration.
        Parameters:
        queueStoreConfig - set the QueueStore configuration to this configuration
        Returns:
        the QueueStore configuration
      • isStatisticsEnabled

        public boolean isStatisticsEnabled()
        Check if statistics are enabled for this queue.
        Returns:
        true if statistics are enabled, false otherwise
      • setStatisticsEnabled

        public QueueConfig setStatisticsEnabled​(boolean statisticsEnabled)
        Enables or disables statistics for this queue.
        Parameters:
        statisticsEnabled - true to enable statistics for this queue, false to disable
        Returns:
        the updated QueueConfig
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface NamedConfig
        Returns:
        the name of this queue
      • setName

        public QueueConfig setName​(java.lang.String name)
        Set the name for this queue.
        Specified by:
        setName in interface NamedConfig
        Parameters:
        name - the name to set for this queue
        Returns:
        this queue configuration
      • addItemListenerConfig

        public QueueConfig addItemListenerConfig​(ItemListenerConfig listenerConfig)
        Add an item listener configuration to this queue.
        Parameters:
        listenerConfig - the item listener configuration to add to this queue
        Returns:
        the updated queue configuration
      • getItemListenerConfigs

        @Nonnull
        public java.util.List<ItemListenerConfig> getItemListenerConfigs()
        Get the list of item listener configurations for this queue.
        Returns:
        the list of item listener configurations for this queue
      • setItemListenerConfigs

        public QueueConfig setItemListenerConfigs​(@Nullable
                                                  java.util.List<ItemListenerConfig> listenerConfigs)
        Set the list of item listener configurations for this queue.
        Parameters:
        listenerConfigs - the list of item listener configurations to set for this queue
        Returns:
        the updated queue configuration
      • getSplitBrainProtectionName

        @Nullable
        public java.lang.String getSplitBrainProtectionName()
        Returns the split brain protection name for queue operations.
        Returns:
        the split brain protection name
      • setSplitBrainProtectionName

        public QueueConfig setSplitBrainProtectionName​(@Nullable
                                                       java.lang.String splitBrainProtectionName)
        Sets the split brain protection name for queue operations.
        Parameters:
        splitBrainProtectionName - the split brain protection name
        Returns:
        the updated queue configuration
      • isPriorityQueue

        public boolean isPriorityQueue()
        Check if underlying implementation is a PriorityQueue. Otherwise it is a FIFO queue.
        Returns:
        true if priority queue has been configured, false otherwise
      • getPriorityComparatorClassName

        @Nullable
        public java.lang.String getPriorityComparatorClassName()
        Returns the class name that will be used to compare queue items. If the returned class name is non-empty, the queue will behave as a priority queue, otherwise it behaves as a FIFO queue.

        If this value is non-null, then Hazelcast will ignore the queue store QueueStoreConfig.STORE_MEMORY_LIMIT configuration value.

      • setPriorityComparatorClassName

        public QueueConfig setPriorityComparatorClassName​(@Nullable
                                                          java.lang.String priorityComparatorClassName)
        Sets the class name that will be used to compare queue items. If the provided class name is non-empty, the queue will behave as a priority queue, otherwise it behaves as a FIFO queue. Setting the comparator to a non-null value also makes the queue store ignore the QueueStoreConfig.STORE_MEMORY_LIMIT configuration value.
        Parameters:
        priorityComparatorClassName - the class name that will be used to compare queue items
        Returns:
        this QueueConfig instance
      • toString

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