Interface MessageStore

    • Method Detail

      • addMessage

        void addMessage​(ConnectionContext context,
                        Message message,
                        boolean canOptimizeHint)
                 throws IOException
        Adds a message to the message store
        Parameters:
        context - context
        message -
        canOptimizeHint - - give a hint to the store that the message may be consumed before it hits the disk
        Throws:
        IOException
      • asyncAddQueueMessage

        ListenableFuture<Object> asyncAddQueueMessage​(ConnectionContext context,
                                                      Message message,
                                                      boolean canOptimizeHint)
                                               throws IOException
        Adds a message to the message store
        Parameters:
        context - context
        message -
        canOptimizeHint - - give a hint to the store that the message may be consumed before it hits the disk
        Returns:
        a Future to track when this is complete
        Throws:
        IOException
        IOException
      • asyncAddTopicMessage

        ListenableFuture<Object> asyncAddTopicMessage​(ConnectionContext context,
                                                      Message message,
                                                      boolean canOptimizeHint)
                                               throws IOException
        Adds a message to the message store
        Parameters:
        context - context
        message -
        canOptimizeHint - - give a hint to the store that the message may be consumed before it hits the disk
        Returns:
        a ListenableFuture to track when this is complete
        Throws:
        IOException
        IOException
      • getMessage

        Message getMessage​(MessageId identity)
                    throws IOException
        Looks up a message using either the String messageID or the messageNumber. Implementations are encouraged to fill in the missing key if its easy to do so.
        Parameters:
        identity - which contains either the messageID or the messageNumber
        Returns:
        the message or null if it does not exist
        Throws:
        IOException
      • removeMessage

        void removeMessage​(ConnectionContext context,
                           MessageAck ack)
                    throws IOException
        Removes a message from the message store.
        Parameters:
        context -
        ack - the ack request that cause the message to be removed. It conatins the identity which contains the messageID of the message that needs to be removed.
        Throws:
        IOException
      • getDestination

        ActiveMQDestination getDestination()
        The destination that the message store is holding messages for.
        Returns:
        the destination
      • setMemoryUsage

        void setMemoryUsage​(MemoryUsage memoryUsage)
        Parameters:
        memoryUsage - The SystemUsage that is controlling the destination's memory usage.
      • getMessageCount

        int getMessageCount()
                     throws IOException
        Returns:
        the number of messages ready to deliver
        Throws:
        IOException
      • getMessageSize

        long getMessageSize()
                     throws IOException
        Returns:
        the size of the messages ready to deliver
        Throws:
        IOException
      • getMessageStoreStatistics

        MessageStoreStatistics getMessageStoreStatistics()
        Returns:
        The statistics bean for this message store
      • resetBatching

        void resetBatching()
        A hint to the Store to reset any batching state for the Destination
      • setBatch

        void setBatch​(MessageId messageId)
               throws Exception
        allow caching cursors to set the current batch offset when cache is exhausted
        Parameters:
        messageId -
        Throws:
        Exception
      • isEmpty

        boolean isEmpty()
                 throws Exception
        flag to indicate if the store is empty
        Returns:
        true if the message count is 0
        Throws:
        Exception
      • setPrioritizedMessages

        void setPrioritizedMessages​(boolean prioritizedMessages)
        A hint to the store to try recover messages according to priority
        Parameters:
        prioritizedMessages -
      • isPrioritizedMessages

        boolean isPrioritizedMessages()
        Returns:
        true if store is trying to recover messages according to priority
      • registerIndexListener

        void registerIndexListener​(IndexListener indexListener)