Class IndirectMessageReference
- java.lang.Object
-
- org.apache.activemq.broker.region.IndirectMessageReference
-
- All Implemented Interfaces:
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.
-
-
Field Summary
-
Fields inherited from interface org.apache.activemq.broker.region.QueueMessageReference
NULL_MESSAGE
-
-
Constructor Summary
Constructors Constructor Description IndirectMessageReference(Message message)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canProcessAsExpired()
int
decrementReferenceCount()
void
drop()
boolean
dropIfLive()
Check if the message has already been dropped before dropping.long
getExpiration()
String
getGroupID()
int
getGroupSequence()
LockOwner
getLockOwner()
Message
getMessage()
Message
getMessageHardRef()
MessageId
getMessageId()
int
getRedeliveryCounter()
int
getReferenceCount()
Message.MessageDestination
getRegionDestination()
int
getSize()
ConsumerId
getTargetConsumerId()
void
incrementRedeliveryCounter()
int
incrementReferenceCount()
boolean
isAcked()
boolean
isAdvisory()
boolean
isDropped()
Returns true if this message is dropped.boolean
isExpired()
Returns true if this message is expiredboolean
isLocked()
boolean
isPersistent()
boolean
lock(LockOwner subscription)
void
setAcked(boolean b)
String
toString()
boolean
unlock()
-
-
-
Constructor Detail
-
IndirectMessageReference
public IndirectMessageReference(Message message)
- Parameters:
message
-
-
-
Method Detail
-
getMessageHardRef
public Message getMessageHardRef()
- Specified by:
getMessageHardRef
in interfaceMessageReference
-
getReferenceCount
public int getReferenceCount()
- Specified by:
getReferenceCount
in interfaceMessageReference
-
incrementReferenceCount
public int incrementReferenceCount()
- Specified by:
incrementReferenceCount
in interfaceMessageReference
-
decrementReferenceCount
public int decrementReferenceCount()
- Specified by:
decrementReferenceCount
in interfaceMessageReference
-
getMessage
public Message getMessage()
- Specified by:
getMessage
in interfaceMessageReference
-
incrementRedeliveryCounter
public void incrementRedeliveryCounter()
- Specified by:
incrementRedeliveryCounter
in interfaceMessageReference
-
isDropped
public boolean isDropped()
Description copied from interface:MessageReference
Returns true if this message is dropped.- Specified by:
isDropped
in interfaceMessageReference
- Specified by:
isDropped
in interfaceQueueMessageReference
-
drop
public void drop()
- Specified by:
drop
in interfaceQueueMessageReference
-
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 interfaceQueueMessageReference
-
lock
public boolean lock(LockOwner subscription)
- Specified by:
lock
in interfaceQueueMessageReference
-
unlock
public boolean unlock()
- Specified by:
unlock
in interfaceQueueMessageReference
-
getLockOwner
public LockOwner getLockOwner()
- Specified by:
getLockOwner
in interfaceQueueMessageReference
-
getRedeliveryCounter
public int getRedeliveryCounter()
- Specified by:
getRedeliveryCounter
in interfaceMessageReference
-
getMessageId
public MessageId getMessageId()
- Specified by:
getMessageId
in interfaceMessageReference
-
getRegionDestination
public Message.MessageDestination getRegionDestination()
- Specified by:
getRegionDestination
in interfaceMessageReference
-
isPersistent
public boolean isPersistent()
- Specified by:
isPersistent
in interfaceMessageReference
-
isLocked
public boolean isLocked()
-
isAcked
public boolean isAcked()
- Specified by:
isAcked
in interfaceQueueMessageReference
-
setAcked
public void setAcked(boolean b)
- Specified by:
setAcked
in interfaceQueueMessageReference
-
getGroupID
public String getGroupID()
- Specified by:
getGroupID
in interfaceMessageReference
-
getGroupSequence
public int getGroupSequence()
- Specified by:
getGroupSequence
in interfaceMessageReference
-
getTargetConsumerId
public ConsumerId getTargetConsumerId()
- Specified by:
getTargetConsumerId
in interfaceMessageReference
-
getExpiration
public long getExpiration()
- Specified by:
getExpiration
in interfaceMessageReference
-
isExpired
public boolean isExpired()
Description copied from interface:MessageReference
Returns true if this message is expired- Specified by:
isExpired
in interfaceMessageReference
-
getSize
public int getSize()
- Specified by:
getSize
in interfaceMessageReference
-
isAdvisory
public boolean isAdvisory()
- Specified by:
isAdvisory
in interfaceMessageReference
- Returns:
- true if the message is an advisory
-
canProcessAsExpired
public boolean canProcessAsExpired()
- Specified by:
canProcessAsExpired
in interfaceMessageReference
-
-