Interface Subscription

    • Method Detail

      • isWildcard

        boolean isWildcard()
        Returns true if this subscription is a Wildcard subscription.
        Returns:
        true if wildcard subscription.
      • matches

        boolean matches​(org.apache.activemq.broker.region.MessageReference node,
                        org.apache.activemq.filter.MessageEvaluationContext context)
                 throws IOException
        Is the subscription interested in the message?
        Parameters:
        node -
        context -
        Returns:
        true if matching
        Throws:
        IOException
      • matches

        boolean matches​(org.apache.activemq.command.ActiveMQDestination destination)
        Is the subscription interested in messages in the destination?
        Parameters:
        destination -
        Returns:
        true if matching
      • remove

        List<org.apache.activemq.broker.region.MessageReference> remove​(ConnectionContext context,
                                                                        Destination destination)
                                                                 throws Exception
        The subscription will be no longer be receiving messages from the destination.
        Parameters:
        context -
        destination -
        Returns:
        a list of un-acked messages that were added to the subscription.
        Throws:
        Exception
      • getConsumerInfo

        org.apache.activemq.command.ConsumerInfo getConsumerInfo()
        The ConsumerInfo object that created the subscription.
      • gc

        void gc()
        The subscription should release as may references as it can to help the garbage collector reclaim memory.
      • getDispatchedCounter

        long getDispatchedCounter()
        Returns:
        number of messages dispatched to the client
      • getEnqueueCounter

        long getEnqueueCounter()
        Returns:
        number of messages that matched the subscription
      • getDequeueCounter

        long getDequeueCounter()
        Returns:
        number of messages queued by the client
      • getSelector

        String getSelector()
        Returns:
        the JMS selector on the current subscription
      • getObjectName

        ObjectName getObjectName()
        Returns:
        the JMX object name that this subscription was registered as if applicable
      • isLowWaterMark

        boolean isLowWaterMark()
        Returns:
        true when 60% or more room is left for dispatching messages
      • isHighWaterMark

        boolean isHighWaterMark()
        Returns:
        true when 10% or less room is left for dispatching messages
      • isFull

        boolean isFull()
        Returns:
        true if there is no space to dispatch messages
      • updateConsumerPrefetch

        void updateConsumerPrefetch​(int newPrefetch)
        inform the MessageConsumer on the client to change it's prefetch
        Parameters:
        newPrefetch -
      • destroy

        void destroy()
        Called when the subscription is destroyed.
      • getPrefetchSize

        int getPrefetchSize()
        Returns:
        the prefetch size that is configured for the subscription
      • getInFlightSize

        int getInFlightSize()
        Returns:
        the number of messages awaiting acknowledgement
      • getInFlightMessageSize

        long getInFlightMessageSize()
        Returns:
        the size in bytes of the messages awaiting acknowledgement
      • getInFlightUsage

        int getInFlightUsage()
        Returns:
        the in flight messages as a percentage of the prefetch size
      • isRecoveryRequired

        boolean isRecoveryRequired()
        Informs the Broker if the subscription needs to intervention to recover it's state e.g. DurableTopicSubscriber may do
        Returns:
        true if recovery required
        See Also:
        PendingMessageCursor
      • isBrowser

        boolean isBrowser()
        Returns:
        true if a browser
      • countBeforeFull

        int countBeforeFull()
        Returns:
        the number of messages this subscription can accept before its full
      • getTimeOfLastMessageAck

        long getTimeOfLastMessageAck()
        Returns the time since the last Ack message was received by this subscription. If there has never been an ack this value should be set to the creation time of the subscription.
        Returns:
        time of last received Ack message or Subscription create time if no Acks.