Package com.github.sonus21.rqueue.core
Interface RqueueMessageManager
- All Known Implementing Classes:
RqueueMessageManagerImpl
public interface RqueueMessageManager
Rqueue Message Manager manages messages related to a queue.
One or more messages can be deleted from a queue, not only this we can delete entire queue, that will delete messages related to a queue.
We can also check whether the given message is enqueued or not.
-
Method Summary
Modifier and TypeMethodDescriptionbooleandeleteAllMessages(String queueName) Very dangerous method it will delete all messages in a queuedefault booleandeleteAllMessages(String queueName, String priority) Delete all message for the given that has some priority like high,medium and lowbooleandeleteMessage(String queueName, String messageId) Delete a message that's enqueued to the given queuedefault booleandeleteMessage(String queueName, String priority, String messageId) Delete a message that's enqueued to a queue with some prioritybooleanExtension to methodgetMessage(String, String), instead of providing message it returns true/false.default booleanExtension to the methodexist(String, String), that checks message for priority queue.getAllMessages(String queueName) Find all messages stored on a given queue, it considers three types of messagesgetAllMessages(String queueName, String priority) Find all messages stored on a given queue with given priority, this method is extension to the methodgetAllMessages(String)getAllRqueueMessage(String queueName) Extension to the methodgetAllMessages(String)this returns internal message.default List<RqueueMessage> getAllRqueueMessage(String queueName, String priority) Extension to the methodgetAllRqueueMessage(String)getMessage(String queueName, String id) Find the enqueued message, messages are deleted automatically post consumption, post consumption message has a fixed lifetime.default ObjectgetMessage(String queueName, String priority, String id) Extension to the methodgetMessage(String, String), this provides the message for the priority queue.org.springframework.messaging.converter.MessageConverterGet currently configured message convertergetRqueueMessage(String queueName, String id) Extension to the methodgetMessage(String, String), this returns internal message.default RqueueMessagegetRqueueMessage(String queueName, String priority, String id) Extension to the methodgetRqueueMessage(String, String)booleanmoveMessageFromDeadLetterToQueue(String deadLetterQueueName, String queueName) A shortcut to the methodmoveMessageFromDeadLetterToQueue(String, String, Integer)booleanmoveMessageFromDeadLetterToQueue(String deadLetterQueueName, String queueName, Integer maxMessages) Move messages from Dead Letter queue to the destination queue.
-
Method Details
-
deleteAllMessages
Very dangerous method it will delete all messages in a queue- Parameters:
queueName- queue name- Returns:
- fail/success
-
deleteAllMessages
Delete all message for the given that has some priority like high,medium and low- Parameters:
queueName- queue namepriority- the priority for the queue- Returns:
- fail/success
-
getAllMessages
Find all messages stored on a given queue, it considers three types of messages1. In-Progress/In-Flight messages 2. Scheduled messages 3. Waiting for execution
- Parameters:
queueName- queue name to be query for- Returns:
- list of messages
-
getAllMessages
Find all messages stored on a given queue with given priority, this method is extension to the methodgetAllMessages(String)- Parameters:
queueName- queue name to be query forpriority- the priority of the queue- Returns:
- list of enqueued messages.
-
getMessage
Find the enqueued message, messages are deleted automatically post consumption, post consumption message has a fixed lifetime.- Parameters:
queueName- queue name on which message was enqueuedid- message id- Returns:
- the enqueued message, it could be null if message is not found or it's deleted.
- See Also:
-
getMessage
Extension to the methodgetMessage(String, String), this provides the message for the priority queue.- Parameters:
queueName- queue name on which message was enqueuedpriority- the priority of the queueid- message id- Returns:
- the enqueued message, it could be null if message is not found or it's deleted.
-
exist
Extension to methodgetMessage(String, String), instead of providing message it returns true/false.- Parameters:
queueName- queue name on which message was enqueuedid- message id- Returns:
- whether the message exist or not
-
exist
Extension to the methodexist(String, String), that checks message for priority queue.- Parameters:
queueName- queue name on which message was enqueuedpriority- priority of the given queueid- message id- Returns:
- whether the message exist or not
-
getRqueueMessage
Extension to the methodgetMessage(String, String), this returns internal message.- Parameters:
queueName- queue name on which message was enqueuedid- message id- Returns:
- the enqueued message
-
getRqueueMessage
Extension to the methodgetRqueueMessage(String, String)- Parameters:
queueName- queue name on which message was enqueuedpriority- the priority of the queueid- message id- Returns:
- the enqueued message
-
getAllRqueueMessage
Extension to the methodgetAllMessages(String)this returns internal message.- Parameters:
queueName- queue name on which message was enqueued- Returns:
- the enqueued message
-
getAllRqueueMessage
Extension to the methodgetAllRqueueMessage(String)- Parameters:
queueName- queue name on which message was enqueuedpriority- the priority of the queue- Returns:
- the enqueued message
-
deleteMessage
Delete a message that's enqueued to the given queue- Parameters:
queueName- queue on which message was enqueuedmessageId- message id- Returns:
- success/failure
-
deleteMessage
Delete a message that's enqueued to a queue with some priority- Parameters:
queueName- queue on which message was enqueuedpriority- priority of the message like high/low/mediummessageId- messageId corresponding to this message- Returns:
- success/failure
-
getMessageConverter
org.springframework.messaging.converter.MessageConverter getMessageConverter()Get currently configured message converter- Returns:
- message converter that's used for message (de)serialization
-
moveMessageFromDeadLetterToQueue
boolean moveMessageFromDeadLetterToQueue(String deadLetterQueueName, String queueName, Integer maxMessages) Move messages from Dead Letter queue to the destination queue. This push the messages at the FRONT of destination queue, so that it can be reprocessed as soon as possible.- Parameters:
deadLetterQueueName- dead letter queue namequeueName- queue namemaxMessages- number of messages to be moved by default moveConstants.MAX_MESSAGESmessages- Returns:
- success or failure.
-
moveMessageFromDeadLetterToQueue
A shortcut to the methodmoveMessageFromDeadLetterToQueue(String, String, Integer)- Parameters:
deadLetterQueueName- dead letter queue namequeueName- queue name- Returns:
- success or failure
-