Package com.hazelcast.config
Class QueueConfig
java.lang.Object
com.hazelcast.config.QueueConfig
- All Implemented Interfaces:
NamedConfig
,UserCodeNamespaceAwareConfig<QueueConfig>
,DataSerializable
,IdentifiedDataSerializable
,com.hazelcast.nio.serialization.impl.Versioned
public class QueueConfig
extends Object
implements IdentifiedDataSerializable, NamedConfig, com.hazelcast.nio.serialization.impl.Versioned, UserCodeNamespaceAwareConfig<QueueConfig>
Contains the configuration for an
IQueue
.-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Default value of the asynchronous backup count.static final int
Default value for the TTL (time to live) for empty Queue.static final int
Default value for the maximum size of the Queue.static final int
Default value for the synchronous backup count.Fields inherited from interface com.hazelcast.config.UserCodeNamespaceAwareConfig
DEFAULT_NAMESPACE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddItemListenerConfig
(ItemListenerConfig listenerConfig) Add an item listener configuration to this queue.final boolean
int
Get the number of asynchronous backups for this queue.int
Get the number of synchronous backups for this queue.int
Returns type identifier for this class.int
Returns the TTL (time to live) for emptying the Queue.int
Returns DataSerializableFactory factory ID for this class.Get the list of item listener configurations for this queue.int
Returns the maximum size of the Queue.Gets theMergePolicyConfig
for this queue.getName()
Returns the class name that will be used to compare queue items.Get the QueueStore (load and store queue items from/to a database) configuration.Returns the split brain protection name for queue operations.int
Get the total number of backups: the backup count plus the asynchronous backup count.Retrieve the User Code Deployment Namespace to be used forClassLoader
awareness during operations related to the structure associated with this configuration.final int
hashCode()
boolean
Check if underlying implementation is aPriorityQueue
.boolean
Check if statistics are enabled for this queue.void
Reads fields from the input streamsetAsyncBackupCount
(int asyncBackupCount) Sets the number of asynchronous backups.setBackupCount
(int backupCount) Sets the number of synchronous backups for this queue.setEmptyQueueTtl
(int emptyQueueTtl) Sets the TTL (time to live) for emptying the Queue.setItemListenerConfigs
(List<ItemListenerConfig> listenerConfigs) Set the list of item listener configurations for this queue.setMaxSize
(int maxSize) Sets the maximum size of the Queue.setMergePolicyConfig
(MergePolicyConfig mergePolicyConfig) Sets theMergePolicyConfig
for this queue.Set the name for this queue.setPriorityComparatorClassName
(String priorityComparatorClassName) Sets the class name that will be used to compare queue items.setQueueStoreConfig
(QueueStoreConfig queueStoreConfig) Set the QueueStore (load and store queue items from/to a database) configuration.setSplitBrainProtectionName
(String splitBrainProtectionName) Sets the split brain protection name for queue operations.setStatisticsEnabled
(boolean statisticsEnabled) Enables or disables statistics for this queue.setUserCodeNamespace
(String userCodeNamespace) Associates the provided Namespace Name with this structure forClassLoader
awareness.toString()
void
Writes object fields to output stream
-
Field Details
-
DEFAULT_MAX_SIZE
public static final int DEFAULT_MAX_SIZEDefault value for the maximum size of the Queue.- See Also:
-
DEFAULT_SYNC_BACKUP_COUNT
public static final int DEFAULT_SYNC_BACKUP_COUNTDefault value for the synchronous backup count.- See Also:
-
DEFAULT_ASYNC_BACKUP_COUNT
public static final int DEFAULT_ASYNC_BACKUP_COUNTDefault value of the asynchronous backup count.- See Also:
-
DEFAULT_EMPTY_QUEUE_TTL
public static final int DEFAULT_EMPTY_QUEUE_TTLDefault value for the TTL (time to live) for empty Queue.- See Also:
-
-
Constructor Details
-
QueueConfig
public QueueConfig() -
QueueConfig
-
QueueConfig
-
-
Method Details
-
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
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
Sets the maximum size of the Queue.- Parameters:
maxSize
- set the maximum size of the Queue to this value- Returns:
- the Queue configuration
- Throws:
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
Sets the number of synchronous backups for this queue.- Parameters:
backupCount
- the number of synchronous backups to set- Returns:
- the current QueueConfig
- Throws:
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:
-
getAsyncBackupCount
public int getAsyncBackupCount()Get the number of asynchronous backups for this queue.- Returns:
- the number of asynchronous backups
-
setAsyncBackupCount
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:
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:
-
getQueueStoreConfig
Get the QueueStore (load and store queue items from/to a database) configuration.- Returns:
- the QueueStore configuration
-
setQueueStoreConfig
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
Enables or disables statistics for this queue.- Parameters:
statisticsEnabled
-true
to enable statistics for this queue,false
to disable- Returns:
- the updated QueueConfig
-
getName
- Specified by:
getName
in interfaceNamedConfig
- Returns:
- the name of this queue
-
setName
Set the name for this queue.- Specified by:
setName
in interfaceNamedConfig
- Parameters:
name
- the name to set for this queue- Returns:
- this queue configuration
-
addItemListenerConfig
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
Get the list of item listener configurations for this queue.- Returns:
- the list of item listener configurations for this queue
-
setItemListenerConfigs
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
Returns the split brain protection name for queue operations.- Returns:
- the split brain protection name
-
setSplitBrainProtectionName
Sets the split brain protection name for queue operations.- Parameters:
splitBrainProtectionName
- the split brain protection name- Returns:
- the updated queue configuration
-
getMergePolicyConfig
Gets theMergePolicyConfig
for this queue.- Returns:
- the
MergePolicyConfig
for this queue
-
setMergePolicyConfig
Sets theMergePolicyConfig
for this queue.- Returns:
- the updated queue configuration
-
isPriorityQueue
public boolean isPriorityQueue()Check if underlying implementation is aPriorityQueue
. Otherwise it is a FIFO queue.- Returns:
true
if priority queue has been configured,false
otherwise
-
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
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 theQueueStoreConfig.STORE_MEMORY_LIMIT
configuration value.- Parameters:
priorityComparatorClassName
- the class name that will be used to compare queue items- Returns:
- this QueueConfig instance
-
getUserCodeNamespace
Retrieve the User Code Deployment Namespace to be used forClassLoader
awareness during operations related to the structure associated with this configuration.- Specified by:
getUserCodeNamespace
in interfaceUserCodeNamespaceAwareConfig<QueueConfig>
- Returns:
- Namespace Name for use with the
UserCodeNamespaceService
, ornull
if there is no User Code Namespace to associate with.
-
setUserCodeNamespace
Associates the provided Namespace Name with this structure forClassLoader
awareness.The behaviour of setting this to
null
is outlined in the documentation forUserCodeNamespaceAwareConfig.DEFAULT_NAMESPACE
.- Specified by:
setUserCodeNamespace
in interfaceUserCodeNamespaceAwareConfig<QueueConfig>
- Parameters:
userCodeNamespace
- The ID of the Namespace to associate with this structure.- Returns:
- the updated
QueueConfig
instance - Since:
- 5.4
-
toString
-
getFactoryId
public int getFactoryId()Description copied from interface:IdentifiedDataSerializable
Returns DataSerializableFactory factory ID for this class.- Specified by:
getFactoryId
in interfaceIdentifiedDataSerializable
- 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 interfaceIdentifiedDataSerializable
- Returns:
- type ID
-
writeData
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the output stream has been closed.
-
readData
Description copied from interface:DataSerializable
Reads fields from the input stream- Specified by:
readData
in interfaceDataSerializable
- Parameters:
in
- input- Throws:
IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
equals
-
hashCode
public final int hashCode()
-