Class IndirectMessageReference

  • All Implemented Interfaces:
    org.apache.activemq.broker.region.MessageReference, QueueMessageReference

    public class IndirectMessageReference
    extends Object
    implements QueueMessageReference
    Keeps track of a message that is flowing through the Broker. This object may hold a hard reference to the message or only hold the id of the message if the message has been persisted on in a MessageStore.
    • Constructor Detail

      • IndirectMessageReference

        public IndirectMessageReference​(org.apache.activemq.command.Message message)
        Parameters:
        message -
    • Method Detail

      • getMessageHardRef

        public org.apache.activemq.command.Message getMessageHardRef()
        Specified by:
        getMessageHardRef in interface org.apache.activemq.broker.region.MessageReference
      • getReferenceCount

        public int getReferenceCount()
        Specified by:
        getReferenceCount in interface org.apache.activemq.broker.region.MessageReference
      • incrementReferenceCount

        public int incrementReferenceCount()
        Specified by:
        incrementReferenceCount in interface org.apache.activemq.broker.region.MessageReference
      • decrementReferenceCount

        public int decrementReferenceCount()
        Specified by:
        decrementReferenceCount in interface org.apache.activemq.broker.region.MessageReference
      • getMessage

        public org.apache.activemq.command.Message getMessage()
        Specified by:
        getMessage in interface org.apache.activemq.broker.region.MessageReference
      • incrementRedeliveryCounter

        public void incrementRedeliveryCounter()
        Specified by:
        incrementRedeliveryCounter in interface org.apache.activemq.broker.region.MessageReference
      • isDropped

        public boolean isDropped()
        Specified by:
        isDropped in interface org.apache.activemq.broker.region.MessageReference
        Specified by:
        isDropped in interface QueueMessageReference
      • dropIfLive

        public boolean dropIfLive()
        Check if the message has already been dropped before dropping. Return true if dropped, else false. This method exists so that this can be done atomically under the intrinisic lock
        Specified by:
        dropIfLive in interface QueueMessageReference
      • getRedeliveryCounter

        public int getRedeliveryCounter()
        Specified by:
        getRedeliveryCounter in interface org.apache.activemq.broker.region.MessageReference
      • getMessageId

        public org.apache.activemq.command.MessageId getMessageId()
        Specified by:
        getMessageId in interface org.apache.activemq.broker.region.MessageReference
      • getRegionDestination

        public org.apache.activemq.command.Message.MessageDestination getRegionDestination()
        Specified by:
        getRegionDestination in interface org.apache.activemq.broker.region.MessageReference
      • isPersistent

        public boolean isPersistent()
        Specified by:
        isPersistent in interface org.apache.activemq.broker.region.MessageReference
      • isLocked

        public boolean isLocked()
      • getGroupID

        public String getGroupID()
        Specified by:
        getGroupID in interface org.apache.activemq.broker.region.MessageReference
      • getGroupSequence

        public int getGroupSequence()
        Specified by:
        getGroupSequence in interface org.apache.activemq.broker.region.MessageReference
      • getTargetConsumerId

        public org.apache.activemq.command.ConsumerId getTargetConsumerId()
        Specified by:
        getTargetConsumerId in interface org.apache.activemq.broker.region.MessageReference
      • getExpiration

        public long getExpiration()
        Specified by:
        getExpiration in interface org.apache.activemq.broker.region.MessageReference
      • isExpired

        public boolean isExpired()
        Specified by:
        isExpired in interface org.apache.activemq.broker.region.MessageReference
      • getSize

        public int getSize()
        Specified by:
        getSize in interface org.apache.activemq.broker.region.MessageReference
      • isAdvisory

        public boolean isAdvisory()
        Specified by:
        isAdvisory in interface org.apache.activemq.broker.region.MessageReference
      • canProcessAsExpired

        public boolean canProcessAsExpired()
        Specified by:
        canProcessAsExpired in interface org.apache.activemq.broker.region.MessageReference