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 Details

    • deleteAllMessages

      boolean deleteAllMessages(String queueName)
      Very dangerous method it will delete all messages in a queue
      Parameters:
      queueName - queue name
      Returns:
      fail/success
    • deleteAllMessages

      default boolean deleteAllMessages(String queueName, String priority)
      Delete all message for the given that has some priority like high,medium and low
      Parameters:
      queueName - queue name
      priority - the priority for the queue
      Returns:
      fail/success
    • getAllMessages

      List<Object> getAllMessages(String queueName)
      Find all messages stored on a given queue, it considers three types of messages

      1. 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

      default List<Object> getAllMessages(String queueName, String priority)
      Find all messages stored on a given queue with given priority, this method is extension to the method getAllMessages(String)
      Parameters:
      queueName - queue name to be query for
      priority - the priority of the queue
      Returns:
      list of enqueued messages.
    • getMessage

      Object getMessage(String queueName, String id)
      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 enqueued
      id - message id
      Returns:
      the enqueued message, it could be null if message is not found or it's deleted.
      See Also:
    • getMessage

      default Object getMessage(String queueName, String priority, String id)
      Extension to the method getMessage(String, String), this provides the message for the priority queue.
      Parameters:
      queueName - queue name on which message was enqueued
      priority - the priority of the queue
      id - message id
      Returns:
      the enqueued message, it could be null if message is not found or it's deleted.
    • exist

      boolean exist(String queueName, String id)
      Extension to method getMessage(String, String), instead of providing message it returns true/false.
      Parameters:
      queueName - queue name on which message was enqueued
      id - message id
      Returns:
      whether the message exist or not
    • exist

      default boolean exist(String queueName, String priority, String id)
      Extension to the method exist(String, String), that checks message for priority queue.
      Parameters:
      queueName - queue name on which message was enqueued
      priority - priority of the given queue
      id - message id
      Returns:
      whether the message exist or not
    • getRqueueMessage

      RqueueMessage getRqueueMessage(String queueName, String id)
      Extension to the method getMessage(String, String), this returns internal message.
      Parameters:
      queueName - queue name on which message was enqueued
      id - message id
      Returns:
      the enqueued message
    • getRqueueMessage

      default RqueueMessage getRqueueMessage(String queueName, String priority, String id)
      Extension to the method getRqueueMessage(String, String)
      Parameters:
      queueName - queue name on which message was enqueued
      priority - the priority of the queue
      id - message id
      Returns:
      the enqueued message
    • getAllRqueueMessage

      List<RqueueMessage> getAllRqueueMessage(String queueName)
      Extension to the method getAllMessages(String) this returns internal message.
      Parameters:
      queueName - queue name on which message was enqueued
      Returns:
      the enqueued message
    • getAllRqueueMessage

      default List<RqueueMessage> getAllRqueueMessage(String queueName, String priority)
      Extension to the method getAllRqueueMessage(String)
      Parameters:
      queueName - queue name on which message was enqueued
      priority - the priority of the queue
      Returns:
      the enqueued message
    • deleteMessage

      boolean deleteMessage(String queueName, String messageId)
      Delete a message that's enqueued to the given queue
      Parameters:
      queueName - queue on which message was enqueued
      messageId - message id
      Returns:
      success/failure
    • deleteMessage

      default boolean deleteMessage(String queueName, String priority, String messageId)
      Delete a message that's enqueued to a queue with some priority
      Parameters:
      queueName - queue on which message was enqueued
      priority - priority of the message like high/low/medium
      messageId - 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 name
      queueName - queue name
      maxMessages - number of messages to be moved by default move Constants.MAX_MESSAGES messages
      Returns:
      success or failure.
    • moveMessageFromDeadLetterToQueue

      boolean moveMessageFromDeadLetterToQueue(String deadLetterQueueName, String queueName)
      Parameters:
      deadLetterQueueName - dead letter queue name
      queueName - queue name
      Returns:
      success or failure