public class InMemoryQueueManager
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.String,DynamicSettings> |
dynamicSettings
Dynamic setting registered to this manager.
|
protected java.util.Map<java.lang.String,InMemoryQueue> |
queues
Queues mapping to this manager.
|
| Constructor and Description |
|---|
InMemoryQueueManager() |
| Modifier and Type | Method and Description |
|---|---|
<T> boolean |
add(java.lang.String queueName,
T item)
Add message to the queue.
|
<T> void |
addAndCreate(java.lang.String queueName,
T item)
Add message.
|
<T> boolean |
addAndRegisterIfRequired(java.lang.String queueName,
T item)
Adds an item in queue.
|
<T> boolean |
addAndRegisterIfRequiredForCollection(java.lang.String queueName,
java.util.Collection<T> item)
Adds all items in collection to queue.
|
<T> void |
addBatchListener(java.lang.String queueName,
java.util.function.Consumer<java.util.List<T>> consumer,
int numberOfConsumers)
Add batch listener to queue having passed name
|
<T> boolean |
addItems(java.lang.String queueName,
java.util.Collection<T> items)
Add messages to the queue.
|
<T> void |
addListener(java.lang.String queueName,
java.util.function.Consumer<T> consumer,
int numberOfConsumers)
Add listener to queue having passed name.
|
java.lang.Integer |
getBatchConsumerCount(java.lang.String queueName)
Get number of batch consumers currently attached to queue.
|
java.lang.Integer |
getDirectConsumerCount(java.lang.String queueName)
Get number of consumers currently attached to queue.
|
<T> void |
initialize(java.lang.String queueName,
java.util.function.Consumer<T> consumer,
int numberOfConsumers)
Initialize a queue with passed name, consumer and number of consumers.
|
<T> void |
initializeForBatch(java.lang.String queueName,
java.util.function.Consumer<java.util.List<T>> consumer,
int numberOfConsumers)
Initialize a queue with passed name, consumer and number of consumers.
|
protected <T> InMemoryQueue<T> |
registerQueueIfAbsent(java.lang.String queueName)
This makes sure only one queue is created for a given name.
|
void |
setBatchConsumerCount(java.lang.String queueName,
int batchConsumerCount)
Set number of batch consumers of queue having passed name.
|
protected <T> void |
setBatchConsumers(java.util.function.Consumer<java.util.List<T>> consumer,
int numberOfConsumers,
InMemoryQueue<T> queue)
Set batch consumers in a given queue.
|
void |
setBatchSize(java.lang.String queueName,
int batchSize)
This method sets the batch size which will be used by batch consumer for given queue having passed queue name.
|
void |
setConsumerCount(java.lang.String queueName,
int consumerCount)
Set Number of direct consumers of queue having passed name.
|
protected <T> void |
setConsumers(java.util.function.Consumer<T> consumer,
int numberOfConsumers,
InMemoryQueue<T> queue)
Set consumers in a given queue.
|
<T> DynamicSettings<T> |
setDynamic(java.lang.String queueName)
This method makes queue dynamic.
|
void |
shutdown()
Shutdown all queues and dynamic settings.
|
protected java.util.Map<java.lang.String,InMemoryQueue> queues
protected java.util.Map<java.lang.String,DynamicSettings> dynamicSettings
public <T> void initialize(java.lang.String queueName,
java.util.function.Consumer<T> consumer,
int numberOfConsumers)
T - type of consumerqueueName - Name of queueconsumer - Consumer logicnumberOfConsumers - Number of consumerspublic void setBatchSize(java.lang.String queueName,
int batchSize)
queueName - Queue namebatchSize - batch sizepublic <T> void initializeForBatch(java.lang.String queueName,
java.util.function.Consumer<java.util.List<T>> consumer,
int numberOfConsumers)
T - type of consumerqueueName - Name of queueconsumer - Consumer logicnumberOfConsumers - Number of consumersprotected <T> InMemoryQueue<T> registerQueueIfAbsent(java.lang.String queueName)
T - type of queue requiredqueueName - Name of the queueprotected <T> void setConsumers(java.util.function.Consumer<T> consumer,
int numberOfConsumers,
InMemoryQueue<T> queue)
T - type of queue requiredconsumer - Consumer of the queue which is looking for working on data present in queue.numberOfConsumers - number of consumers required for queue toqueue - Queue on which we are looking for setting consumers.protected <T> void setBatchConsumers(java.util.function.Consumer<java.util.List<T>> consumer,
int numberOfConsumers,
InMemoryQueue<T> queue)
T - type of queue requiredconsumer - Consumer of the queue which is looking for working on data present in queue.numberOfConsumers - number of consumers required for queue toqueue - Queue on which we are looking for setting consumers.public <T> boolean addAndRegisterIfRequired(java.lang.String queueName,
T item)
T - type of queue requiredqueueName - Name of queueitem - Item to be addedpublic <T> boolean addAndRegisterIfRequiredForCollection(java.lang.String queueName,
java.util.Collection<T> item)
T - type of queue requiredqueueName - Name of queueitem - Collectionpublic <T> boolean add(java.lang.String queueName,
T item)
T - type of queuequeueName - name of queueitem - Item to be addedpublic <T> boolean addItems(java.lang.String queueName,
java.util.Collection<T> items)
T - type of queuequeueName - Name of queueitems - Items to be addedpublic <T> void addListener(java.lang.String queueName,
java.util.function.Consumer<T> consumer,
int numberOfConsumers)
T - type of queuequeueName - Name of queueconsumer - Consumer logicnumberOfConsumers - Number of consumerspublic <T> void addBatchListener(java.lang.String queueName,
java.util.function.Consumer<java.util.List<T>> consumer,
int numberOfConsumers)
T - type of queuequeueName - Name of queueconsumer - Consumer logicnumberOfConsumers - Number of consumerspublic <T> void addAndCreate(java.lang.String queueName,
T item)
T - type of queuequeueName - Name of queueitem - Data to be addedpublic java.lang.Integer getDirectConsumerCount(java.lang.String queueName)
queueName - Name of queue for which consumers count is requiredpublic java.lang.Integer getBatchConsumerCount(java.lang.String queueName)
queueName - Name of queue for which consumers count is requiredpublic void setConsumerCount(java.lang.String queueName,
int consumerCount)
queueName - Name of queueconsumerCount - Consumer countpublic void setBatchConsumerCount(java.lang.String queueName,
int batchConsumerCount)
queueName - Name of queuebatchConsumerCount - Batch consumer count to be setpublic <T> DynamicSettings<T> setDynamic(java.lang.String queueName)
T - type of queue.queueName - Queue Namepublic void shutdown()