public class TopicSubscription extends AbstractSubscription
Modifier and Type | Field and Description |
---|---|
protected boolean |
active |
protected ActiveMQMessageAudit |
audit |
protected boolean |
discarding |
protected List<org.apache.activemq.broker.region.TopicSubscription.DispatchedNode> |
dispatched |
protected Object |
dispatchLock |
protected boolean |
enableAudit |
protected PendingMessageCursor |
matched |
protected int |
maxAuditDepth |
protected int |
maxProducersToAudit |
protected SystemUsage |
usageManager |
broker, context, destinationFilter, destinations, info, prefetchExtension
Constructor and Description |
---|
TopicSubscription(Broker broker,
ConnectionContext context,
ConsumerInfo info,
SystemUsage usageManager) |
Modifier and Type | Method and Description |
---|---|
void |
acknowledge(ConnectionContext context,
MessageAck ack)
Used when client acknowledge receipt of dispatched message.
|
void |
add(MessageReference node)
Used to add messages that match the subscription.
|
int |
countBeforeFull() |
void |
destroy()
Called when the subscription is destroyed.
|
int |
discarded() |
long |
getDequeueCounter() |
long |
getDispatchedCounter() |
int |
getDispatchedQueueSize() |
long |
getEnqueueCounter() |
int |
getInFlightSize() |
PendingMessageCursor |
getMatched() |
int |
getMaxAuditDepth() |
int |
getMaximumPendingMessages() |
int |
getMaxProducersToAudit() |
int |
getMemoryUsageHighWaterMark() |
MessageEvictionStrategy |
getMessageEvictionStrategy() |
long |
getPendingMessageSize() |
int |
getPendingQueueSize() |
int |
getPrefetchSize() |
SystemUsage |
getUsageManager() |
void |
init() |
boolean |
isEnableAudit() |
boolean |
isFull() |
boolean |
isHighWaterMark() |
boolean |
isLowWaterMark() |
boolean |
isUseTopicSubscriptionInflightStats() |
int |
matched() |
void |
processMessageDispatchNotification(MessageDispatchNotification mdn)
Used by a Slave Broker to update dispatch infomation
|
Response |
pullMessage(ConnectionContext context,
MessagePull pull)
Allows a consumer to pull a message on demand
|
protected void |
removeExpiredMessages()
Discard any expired messages from the matched list.
|
void |
setEnableAudit(boolean enableAudit) |
void |
setMatched(PendingMessageCursor matched) |
void |
setMaxAuditDepth(int maxAuditDepth) |
void |
setMaximumPendingMessages(int maximumPendingMessages)
Sets the maximum number of pending messages that can be matched against
this consumer before old messages are discarded.
|
void |
setMaxProducersToAudit(int maxProducersToAudit) |
void |
setMemoryUsageHighWaterMark(int memoryUsageHighWaterMark) |
void |
setMessageEvictionStrategy(MessageEvictionStrategy messageEvictionStrategy)
Sets the eviction strategy used to decide which message to evict when the
slow consumer needs to discard messages
|
void |
setPrefetchSize(int newSize) |
void |
setUseTopicSubscriptionInflightStats(boolean useTopicSubscriptionInflightStats) |
String |
toString() |
void |
updateConsumerPrefetch(int newPrefetch)
inform the MessageConsumer on the client to change it's prefetch
|
add, addDestination, addRecoveredMessage, contractPrefetchExtension, decrementPrefetchExtension, doAddRecoveredMessage, expandPrefetchExtension, gc, getActiveMQDestination, getConsumedCount, getConsumerInfo, getContext, getCursorMemoryHighWaterMark, getInFlightMessageSize, getInFlightUsage, getInfo, getObjectName, getPrefetchExtension, getSelector, getSelectorExpression, getSubscriptionStatistics, getTimeOfLastMessageAck, incrementConsumedCount, isBrowser, isRecoveryRequired, isSlowConsumer, isUsePrefetchExtension, isWildcard, matches, matches, remove, removeDestination, resetConsumedCount, setCursorMemoryHighWaterMark, setObjectName, setSelector, setSlowConsumer, setTimeOfLastMessageAck, setUsePrefetchExtension, unmatched, wakeupDestinationsForDispatch
protected PendingMessageCursor matched
protected final SystemUsage usageManager
protected int maxProducersToAudit
protected int maxAuditDepth
protected boolean enableAudit
protected ActiveMQMessageAudit audit
protected boolean active
protected boolean discarding
protected final Object dispatchLock
protected final List<org.apache.activemq.broker.region.TopicSubscription.DispatchedNode> dispatched
public TopicSubscription(Broker broker, ConnectionContext context, ConsumerInfo info, SystemUsage usageManager) throws Exception
Exception
public void add(MessageReference node) throws Exception
Subscription
Exception
InterruptedException
IOException
protected void removeExpiredMessages() throws IOException
IOException
public void processMessageDispatchNotification(MessageDispatchNotification mdn)
Subscription
public void acknowledge(ConnectionContext context, MessageAck ack) throws Exception
Subscription
acknowledge
in interface Subscription
acknowledge
in class AbstractSubscription
IOException
Exception
public Response pullMessage(ConnectionContext context, MessagePull pull) throws Exception
Subscription
Exception
public int countBeforeFull()
countBeforeFull
in interface Subscription
countBeforeFull
in class AbstractSubscription
public int getPendingQueueSize()
public long getPendingMessageSize()
public int getDispatchedQueueSize()
public int getMaximumPendingMessages()
public long getDispatchedCounter()
public long getEnqueueCounter()
public long getDequeueCounter()
public int discarded()
public int matched()
public void setMaximumPendingMessages(int maximumPendingMessages)
public MessageEvictionStrategy getMessageEvictionStrategy()
public void setMessageEvictionStrategy(MessageEvictionStrategy messageEvictionStrategy)
public int getMaxProducersToAudit()
public void setMaxProducersToAudit(int maxProducersToAudit)
public int getMaxAuditDepth()
public void setMaxAuditDepth(int maxAuditDepth)
public boolean isEnableAudit()
public void setEnableAudit(boolean enableAudit)
public boolean isFull()
public int getInFlightSize()
public boolean isLowWaterMark()
public boolean isHighWaterMark()
public void setMemoryUsageHighWaterMark(int memoryUsageHighWaterMark)
memoryUsageHighWaterMark
- the memoryUsageHighWaterMark to setpublic int getMemoryUsageHighWaterMark()
public SystemUsage getUsageManager()
public PendingMessageCursor getMatched()
public void setMatched(PendingMessageCursor matched)
matched
- the matched to setpublic void updateConsumerPrefetch(int newPrefetch)
newPrefetch
- public void destroy()
Subscription
public int getPrefetchSize()
getPrefetchSize
in interface Subscription
getPrefetchSize
in class AbstractSubscription
public void setPrefetchSize(int newSize)
setPrefetchSize
in class AbstractSubscription
public boolean isUseTopicSubscriptionInflightStats()
public void setUseTopicSubscriptionInflightStats(boolean useTopicSubscriptionInflightStats)
Copyright © 2005–2019 The Apache Software Foundation. All rights reserved.