Package com.hazelcast.config
Class QueueConfig
- java.lang.Object
-
- com.hazelcast.config.QueueConfig
-
- All Implemented Interfaces:
NamedConfig
,DataSerializable
,IdentifiedDataSerializable
,com.hazelcast.nio.serialization.impl.Versioned
public class QueueConfig extends java.lang.Object implements IdentifiedDataSerializable, NamedConfig, com.hazelcast.nio.serialization.impl.Versioned
Contains the configuration for anIQueue
.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_ASYNC_BACKUP_COUNT
Default value of the asynchronous backup count.static int
DEFAULT_EMPTY_QUEUE_TTL
Default value for the TTL (time to live) for empty Queue.static int
DEFAULT_MAX_SIZE
Default value for the maximum size of the Queue.static int
DEFAULT_SYNC_BACKUP_COUNT
Default value for the synchronous backup count.
-
Constructor Summary
Constructors Constructor Description QueueConfig()
QueueConfig(QueueConfig config)
QueueConfig(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueueConfig
addItemListenerConfig(ItemListenerConfig listenerConfig)
Add an item listener configuration to this queue.boolean
equals(java.lang.Object o)
int
getAsyncBackupCount()
Get the number of asynchronous backups for this queue.int
getBackupCount()
Get the number of synchronous backups for this queue.int
getClassId()
Returns type identifier for this class.int
getEmptyQueueTtl()
Returns the TTL (time to live) for emptying the Queue.int
getFactoryId()
Returns DataSerializableFactory factory ID for this class.java.util.List<ItemListenerConfig>
getItemListenerConfigs()
Get the list of item listener configurations for this queue.int
getMaxSize()
Returns the maximum size of the Queue.MergePolicyConfig
getMergePolicyConfig()
Gets theMergePolicyConfig
for this queue.java.lang.String
getName()
java.lang.String
getPriorityComparatorClassName()
Returns the class name that will be used to compare queue items.QueueStoreConfig
getQueueStoreConfig()
Get the QueueStore (load and store queue items from/to a database) configuration.java.lang.String
getSplitBrainProtectionName()
Returns the split brain protection name for queue operations.int
getTotalBackupCount()
Get the total number of backups: the backup count plus the asynchronous backup count.int
hashCode()
boolean
isPriorityQueue()
Check if underlying implementation is aPriorityQueue
.boolean
isStatisticsEnabled()
Check if statistics are enabled for this queue.void
readData(ObjectDataInput in)
Reads fields from the input streamQueueConfig
setAsyncBackupCount(int asyncBackupCount)
Sets the number of asynchronous backups.QueueConfig
setBackupCount(int backupCount)
Sets the number of synchronous backups for this queue.QueueConfig
setEmptyQueueTtl(int emptyQueueTtl)
Sets the TTL (time to live) for emptying the Queue.QueueConfig
setItemListenerConfigs(java.util.List<ItemListenerConfig> listenerConfigs)
Set the list of item listener configurations for this queue.QueueConfig
setMaxSize(int maxSize)
Sets the maximum size of the Queue.QueueConfig
setMergePolicyConfig(MergePolicyConfig mergePolicyConfig)
Sets theMergePolicyConfig
for this queue.QueueConfig
setName(java.lang.String name)
Set the name for this queue.QueueConfig
setPriorityComparatorClassName(java.lang.String priorityComparatorClassName)
Sets the class name that will be used to compare queue items.QueueConfig
setQueueStoreConfig(QueueStoreConfig queueStoreConfig)
Set the QueueStore (load and store queue items from/to a database) configuration.QueueConfig
setSplitBrainProtectionName(java.lang.String splitBrainProtectionName)
Sets the split brain protection name for queue operations.QueueConfig
setStatisticsEnabled(boolean statisticsEnabled)
Enables or disables statistics for this queue.java.lang.String
toString()
void
writeData(ObjectDataOutput out)
Writes object fields to output stream
-
-
-
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 interfaceNamedConfig
- Returns:
- the name of this queue
-
setName
public QueueConfig setName(java.lang.String name)
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
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
-
getMergePolicyConfig
@Nonnull public MergePolicyConfig getMergePolicyConfig()
Gets theMergePolicyConfig
for this queue.- Returns:
- the
MergePolicyConfig
for this queue
-
setMergePolicyConfig
public QueueConfig setMergePolicyConfig(@Nonnull MergePolicyConfig mergePolicyConfig)
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
@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 theQueueStoreConfig.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 classjava.lang.Object
-
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
public void writeData(ObjectDataOutput out) throws java.io.IOException
Description copied from interface:DataSerializable
Writes object fields to output stream- Specified by:
writeData
in interfaceDataSerializable
- Parameters:
out
- output- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
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 interfaceDataSerializable
- Parameters:
in
- input- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the input stream has been closed.
-
equals
public final boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-