Interface QueueControl


  • public interface QueueControl
    A QueueControl is used to manage a queue.
    • Method Detail

      • getName

        String getName()
        Returns the name of this queue.
      • getAddress

        String getAddress()
        Returns the address this queue is bound to.
      • getID

        long getID()
        Returns this queue ID.
      • isTemporary

        boolean isTemporary()
        Returns whether this queue is temporary.
      • isRetroactiveResource

        boolean isRetroactiveResource()
        Returns whether this queue is used for a retroactive address.
      • isDurable

        boolean isDurable()
        Returns whether this queue is durable.
      • getUser

        String getUser()
        Returns the user that is associated with creating the queue.
      • getRoutingType

        String getRoutingType()
        The routing type of this queue.
      • getFilter

        String getFilter()
        Returns the filter associated with this queue.
      • getMessageCount

        long getMessageCount()
        Returns the number of messages currently in this queue.
      • getPersistentSize

        long getPersistentSize()
        Returns the persistent size of all messages currently in this queue. The persistent size of a message is the amount of space the message would take up on disk which is used to track how much data there is to consume on this queue
      • getDurableMessageCount

        long getDurableMessageCount()
        Returns the number of durable messages currently in this queue.
      • getDurablePersistentSize

        long getDurablePersistentSize()
        Returns the persistent size of durable messages currently in this queue. The persistent size of a message is the amount of space the message would take up on disk which is used to track how much data there is to consume on this queue
      • getScheduledCount

        long getScheduledCount()
        Returns the number of scheduled messages in this queue.
      • getScheduledSize

        long getScheduledSize()
        Returns the size of scheduled messages in this queue.
      • getDurableScheduledCount

        long getDurableScheduledCount()
        Returns the number of durable scheduled messages in this queue.
      • getDurableScheduledSize

        long getDurableScheduledSize()
        Returns the size of durable scheduled messages in this queue.
      • getConsumerCount

        int getConsumerCount()
        Returns the number of consumers consuming messages from this queue.
      • getDeliveringCount

        int getDeliveringCount()
        Returns the number of messages that this queue is currently delivering to its consumers.
      • getDeliveringSize

        long getDeliveringSize()
        Returns the persistent size of messages that this queue is currently delivering to its consumers.
      • getDurableDeliveringCount

        int getDurableDeliveringCount()
        Returns the number of durable messages that this queue is currently delivering to its consumers.
      • getDurableDeliveringSize

        long getDurableDeliveringSize()
        Returns the size of durable messages that this queue is currently delivering to its consumers.
      • getMessagesAdded

        long getMessagesAdded()
        Returns the number of messages added to this queue since it was created.
      • getMessagesAcknowledged

        long getMessagesAcknowledged()
        Returns the number of messages added to this queue since it was created.
      • getAcknowledgeAttempts

        long getAcknowledgeAttempts()
        Returns the number of messages added to this queue since it was created.
      • getMessagesExpired

        long getMessagesExpired()
        Returns the number of messages expired from this queue since it was created.
      • getMessagesKilled

        long getMessagesKilled()
        Returns the number of messages removed from this queue since it was created due to exceeding the max delivery attempts.
      • getFirstMessageAsJSON

        String getFirstMessageAsJSON()
                              throws Exception
        Returns the first message on the queue as JSON
        Throws:
        Exception
      • getFirstMessageTimestamp

        Long getFirstMessageTimestamp()
                               throws Exception
        Returns the timestamp of the first message in milliseconds.
        Throws:
        Exception
      • getFirstMessageAge

        Long getFirstMessageAge()
                         throws Exception
        Returns the age of the first message in milliseconds.
        Throws:
        Exception
      • getExpiryAddress

        String getExpiryAddress()
        Returns the expiry address associated with this queue.
      • getDeadLetterAddress

        String getDeadLetterAddress()
        Returns the dead-letter address associated with this queue.
      • getMaxConsumers

        int getMaxConsumers()
      • isPurgeOnNoConsumers

        boolean isPurgeOnNoConsumers()
      • isEnabled

        boolean isEnabled()
      • enable

        void enable()
             throws Exception
        Enables the queue. Messages are now routed to this queue.
        Throws:
        Exception
      • disable

        void disable()
              throws Exception
        Enables the queue. Messages are not routed to this queue.
        Throws:
        Exception
      • isConfigurationManaged

        boolean isConfigurationManaged()
      • isExclusive

        boolean isExclusive()
      • isLastValue

        boolean isLastValue()
      • getLastValueKey

        String getLastValueKey()
        The key used for the last value queues
      • getConsumersBeforeDispatch

        int getConsumersBeforeDispatch()
        Return the Consumers Before Dispatch
        Returns:
      • getDelayBeforeDispatch

        long getDelayBeforeDispatch()
        Return the Consumers Before Dispatch
        Returns:
      • listScheduledMessages

        Map<String,​Object>[] listScheduledMessages()
                                                  throws Exception
        Lists all the messages scheduled for delivery for this queue.
        1 Map represents 1 message, keys are the message's properties and headers, values are the corresponding values.
        Throws:
        Exception
      • listScheduledMessagesAsJSON

        String listScheduledMessagesAsJSON()
                                    throws Exception
        Lists all the messages scheduled for delivery for this queue using JSON serialization.
        Throws:
        Exception
      • listDeliveringMessages

        Map<String,​Map<String,​Object>[]> listDeliveringMessages()
                                                                     throws Exception
        Lists all the messages being deliver per consumer.
        The Map's key is a toString representation for the consumer. Each consumer will then return a Map<String,Object>[] same way is returned by listScheduledMessages()
        Throws:
        Exception
      • listMessages

        Map<String,​Object>[] listMessages​(String filter)
                                         throws Exception
        Lists all the messages in this queue matching the specified filter.
        1 Map represents 1 message, keys are the message's properties and headers, values are the corresponding values.
        Using null or an empty filter will list all messages from this queue.
        Throws:
        Exception
      • listMessagesAsJSON

        String listMessagesAsJSON​(String filter)
                           throws Exception
        Lists all the messages in this queue matching the specified filter using JSON serialization.
        Using null or an empty filter will list all messages from this queue.
        Throws:
        Exception
      • countMessages

        long countMessages​(String filter)
                    throws Exception
        Counts the number of messages in this queue matching the specified filter.
        Using null or an empty filter will count all messages from this queue.
        Throws:
        Exception
      • countMessages

        String countMessages​(String filter,
                             String groupByProperty)
                      throws Exception
        Counts the number of messages in this queue matching the specified filter, grouped by the given property field. In case of null property will be grouped in "null"
        Using null or an empty filter will count all messages from this queue.
        Throws:
        Exception
      • countDeliveringMessages

        long countDeliveringMessages​(String filter)
                              throws Exception
        Counts the number of delivering messages in this queue matching the specified filter.
        Using null or an empty filter will count all messages from this queue.
        Throws:
        Exception
      • countDeliveringMessages

        String countDeliveringMessages​(String filter,
                                       String groupByProperty)
                                throws Exception
        Counts the number of delivering messages in this queue matching the specified filter, grouped by the given property field. In case of null property will be grouped in "null"
        Using null or an empty filter will count all messages from this queue.
        Throws:
        Exception
      • removeMessage

        boolean removeMessage​(long messageID)
                       throws Exception
        Removes the message corresponding to the specified message ID.
        Returns:
        true if the message was removed, false else
        Throws:
        Exception
      • removeMessages

        int removeMessages​(String filter)
                    throws Exception
        Removes all the message corresponding to the specified filter.
        Using null or an empty filter will remove all messages from this queue.
        Returns:
        the number of removed messages
        Throws:
        Exception
      • removeMessages

        int removeMessages​(int flushLimit,
                           String filter)
                    throws Exception
        Removes all the message corresponding to the specified filter.
        Using null or an empty filter will remove all messages from this queue.
        Returns:
        the number of removed messages
        Throws:
        Exception
      • removeAllMessages

        int removeAllMessages()
                       throws Exception
        Removes all the message from the queue.
        Returns:
        the number of removed messages
        Throws:
        Exception
      • expireMessages

        int expireMessages​(String filter)
                    throws Exception
        Expires all the message corresponding to the specified filter.
        Using null or an empty filter will expire all messages from this queue.
        Returns:
        the number of expired messages
        Throws:
        Exception
      • expireMessage

        boolean expireMessage​(long messageID)
                       throws Exception
        Expires the message corresponding to the specified message ID.
        Returns:
        true if the message was expired, false else
        Throws:
        Exception
      • retryMessage

        boolean retryMessage​(long messageID)
                      throws Exception
        Retries the message corresponding to the given messageID to the original queue. This is appropriate on dead messages on Dead letter queues only.
        Parameters:
        messageID -
        Returns:
        true if the message was retried, false else
        Throws:
        Exception
      • retryMessages

        int retryMessages()
                   throws Exception
        Retries all messages on a DLQ to their respective original queues. This is appropriate on dead messages on Dead letter queues only.
        Returns:
        the number of retried messages.
        Throws:
        Exception
      • moveMessage

        boolean moveMessage​(long messageID,
                            String otherQueueName)
                     throws Exception
        Moves the message corresponding to the specified message ID to the specified other queue.
        Returns:
        true if the message was moved, false else
        Throws:
        Exception
      • moveMessage

        boolean moveMessage​(long messageID,
                            String otherQueueName,
                            boolean rejectDuplicates)
                     throws Exception
        Moves the message corresponding to the specified message ID to the specified other queue.
        Returns:
        true if the message was moved, false else
        Throws:
        Exception
      • moveMessages

        int moveMessages​(String filter,
                         String otherQueueName)
                  throws Exception
        Moves all the message corresponding to the specified filter to the specified other queue. RejectDuplicates = false on this case
        Using null or an empty filter will move all messages from this queue.
        Returns:
        the number of moved messages
        Throws:
        Exception
      • moveMessages

        int moveMessages​(String filter,
                         String otherQueueName,
                         boolean rejectDuplicates)
                  throws Exception
        Moves all the message corresponding to the specified filter to the specified other queue.
        Using null or an empty filter will move all messages from this queue.
        Returns:
        the number of moved messages
        Throws:
        Exception
      • moveMessages

        int moveMessages​(int flushLimit,
                         String filter,
                         String otherQueueName,
                         boolean rejectDuplicates)
                  throws Exception
        Throws:
        Exception
      • moveMessages

        int moveMessages​(int flushLimit,
                         String filter,
                         String otherQueueName,
                         boolean rejectDuplicates,
                         int messageCount)
                  throws Exception
        Throws:
        Exception
      • sendMessageToDeadLetterAddress

        boolean sendMessageToDeadLetterAddress​(long messageID)
                                        throws Exception
        Sends the message corresponding to the specified message ID to this queue's dead letter address.
        Returns:
        true if the message was sent to the dead letter address, false else
        Throws:
        Exception
      • sendMessagesToDeadLetterAddress

        int sendMessagesToDeadLetterAddress​(String filterStr)
                                     throws Exception
        Sends all the message corresponding to the specified filter to this queue's dead letter address.
        Using null or an empty filter will send all messages from this queue.
        Returns:
        the number of sent messages
        Throws:
        Exception
      • sendMessage

        String sendMessage​(Map<String,​String> headers,
                           int type,
                           String body,
                           boolean durable,
                           String user,
                           String password)
                    throws Exception
        Parameters:
        headers - the message headers and properties to set. Can only container Strings maped to primitive types.
        body - the text to send
        durable -
        user -
        password -
        Returns:
        Throws:
        Exception
      • sendMessage

        String sendMessage​(Map<String,​String> headers,
                           int type,
                           String body,
                           boolean durable,
                           String user,
                           String password,
                           boolean createMessageId)
                    throws Exception
        Parameters:
        headers - the message headers and properties to set. Can only container Strings maped to primitive types.
        body - the text to send
        durable -
        user -
        password -
        createMessageId - whether or not to auto generate a Message ID
        Returns:
        Throws:
        Exception
      • changeMessagePriority

        boolean changeMessagePriority​(long messageID,
                                      int newPriority)
                               throws Exception
        Changes the message's priority corresponding to the specified message ID to the specified priority.
        Parameters:
        newPriority - between 0 and 9 inclusive.
        Returns:
        true if the message priority was changed
        Throws:
        Exception
      • changeMessagesPriority

        int changeMessagesPriority​(String filter,
                                   int newPriority)
                            throws Exception
        Changes the priority for all the message corresponding to the specified filter to the specified priority.
        Using null or an empty filter will change all messages from this queue.
        Returns:
        the number of changed messages
        Throws:
        Exception
      • listMessageCounter

        String listMessageCounter()
                           throws Exception
        Lists the message counter for this queue.
        Throws:
        Exception
      • resetMessageCounter

        void resetMessageCounter()
                          throws Exception
        Resets the message counter for this queue.
        Throws:
        Exception
      • listMessageCounterAsHTML

        String listMessageCounterAsHTML()
                                 throws Exception
        Lists the message counter for this queue as a HTML table.
        Throws:
        Exception
      • listMessageCounterHistory

        String listMessageCounterHistory()
                                  throws Exception
        Lists the message counter history for this queue.
        Throws:
        Exception
      • listMessageCounterHistoryAsHTML

        @Deprecated
        String listMessageCounterHistoryAsHTML()
                                        throws Exception
        Deprecated.
        Lists the message counter history for this queue as a HTML table.
        Throws:
        Exception
      • pause

        void pause()
            throws Exception
        Pauses the queue. Messages are no longer delivered to its consumers.
        Throws:
        Exception
      • pause

        void pause​(boolean persist)
            throws Exception
        Pauses the queue. Messages are no longer delivered to its consumers.
        Throws:
        Exception
      • resume

        void resume()
             throws Exception
        Resumes the queue. Messages are again delivered to its consumers.
        Throws:
        Exception
      • isPaused

        boolean isPaused()
                  throws Exception
        Returns whether the queue is paused.
        Throws:
        Exception
      • resetMessagesAdded

        void resetMessagesAdded()
                         throws Exception
        Resets the MessagesAdded property
        Throws:
        Exception
      • resetMessagesAcknowledged

        void resetMessagesAcknowledged()
                                throws Exception
        Resets the MessagesAdded property
        Throws:
        Exception
      • resetMessagesExpired

        void resetMessagesExpired()
                           throws Exception
        Resets the MessagesExpired property
        Throws:
        Exception
      • resetMessagesKilled

        void resetMessagesKilled()
                          throws Exception
        Resets the MessagesExpired property
        Throws:
        Exception
      • flushExecutor

        void flushExecutor()
        it will flush one cycle on internal executors, so you would be sure that any pending tasks are done before you call any other measure. It is useful if you need the exact number of counts on a message
      • resetAllGroups

        void resetAllGroups()
        Will reset the all the groups. This is useful if you want a complete rebalance of the groups to consumers
      • resetGroup

        void resetGroup​(String groupID)
        Will reset the group matching the given groupID. This is useful if you want the given group to be rebalanced to the consumers
      • getGroupCount

        int getGroupCount()
        Will return the current number of active groups.
      • getRingSize

        long getRingSize()
        Will return the ring size.
      • isGroupRebalance

        boolean isGroupRebalance()
        Returns whether the groups of this queue are automatically rebalanced.
      • isGroupRebalancePauseDispatch

        boolean isGroupRebalancePauseDispatch()
        Returns whether the dispatch is paused when groups of this queue are automatically rebalanced.
      • getGroupBuckets

        int getGroupBuckets()
        Will return the group buckets.
      • getGroupFirstKey

        String getGroupFirstKey()
        Will return the header key to notify a consumer of a group change.
      • getPreparedTransactionMessageCount

        int getPreparedTransactionMessageCount()
        Will return the number of messages stuck in prepared transactions
      • deliverScheduledMessages

        void deliverScheduledMessages​(String filter)
                               throws Exception
        Deliver the scheduled messages which match the filter
        Throws:
        Exception
      • deliverScheduledMessage

        void deliverScheduledMessage​(long messageId)
                              throws Exception
        Deliver the scheduled message with the specified message ID
        Throws:
        Exception
      • isAutoDelete

        boolean isAutoDelete()
        Returns whether this queue is available for auto deletion.
      • peekFirstMessageAsJSON

        String peekFirstMessageAsJSON()
                               throws Exception
        Returns the first message on the queue as JSON
        Throws:
        Exception
      • peekFirstScheduledMessageAsJSON

        String peekFirstScheduledMessageAsJSON()
                                        throws Exception
        Returns the first scheduled message on the queue as JSON
        Throws:
        Exception