public class StoreDurableSubscriberCursor extends AbstractPendingMessageCursor
audit, enableAudit, last, maxAuditDepth, maxBatchSize, maxProducersToAudit, memoryUsageHighWaterMark, prioritizedMessages, systemUsage, useCacheINFINITE_WAIT| Constructor and Description |
|---|
StoreDurableSubscriberCursor(Broker broker,
String clientId,
String subscriberName,
int maxBatchSize,
DurableTopicSubscription subscription) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(ConnectionContext context,
Destination destination)
Add a destination
|
void |
addMessageFirst(org.apache.activemq.broker.region.MessageReference node)
add message to await dispatch
|
void |
addRecoveredMessage(org.apache.activemq.broker.region.MessageReference node)
Add a message recovered from a retroactive policy
|
void |
clear()
clear all pending messages
|
void |
gc()
free up any internal buffers
|
protected PendingMessageCursor |
getNextCursor() |
boolean |
hasNext() |
boolean |
isEmpty() |
boolean |
isEmpty(Destination destination)
check if a Destination is Empty for this cursor
|
boolean |
isImmediatePriorityDispatch() |
boolean |
isRecoveryRequired()
Informs the Broker if the subscription needs to intervention to recover
it's state e.g.
|
boolean |
isTransient() |
long |
messageSize() |
org.apache.activemq.broker.region.MessageReference |
next() |
void |
release()
hint to the cursor to release any locks it might have grabbed after a
reset
|
void |
remove()
remove the message at the cursor position
|
List<org.apache.activemq.broker.region.MessageReference> |
remove(ConnectionContext context,
Destination destination)
remove a destination
|
void |
remove(org.apache.activemq.broker.region.MessageReference node)
remove a node
|
void |
reset()
reset the cursor
|
void |
setEnableAudit(boolean enableAudit) |
void |
setImmediatePriorityDispatch(boolean immediatePriorityDispatch) |
void |
setMaxAuditDepth(int maxAuditDepth)
Set the maximum depth of message ids to track
|
void |
setMaxBatchSize(int newMaxBatchSize)
Set the max batch size
|
void |
setMaxProducersToAudit(int maxProducersToAudit)
set the maximum number of producers to track at one time
|
void |
setMemoryUsageHighWaterMark(int memoryUsageHighWaterMark) |
void |
setSystemUsage(SystemUsage usageManager)
Set the UsageManager
|
void |
setUseCache(boolean useCache)
use a cache to improve performance
|
int |
size() |
void |
start() |
void |
stop() |
String |
toString() |
boolean |
tryAddMessageLast(org.apache.activemq.broker.region.MessageReference node,
long wait)
add message to await dispatch - if it can
|
addMessageLast, destroy, fillBatch, getMaxAuditDepth, getMaxBatchSize, getMaxProducersToAudit, getMemoryUsageHighWaterMark, getMessageAudit, getSystemUsage, hasMessagesBufferedToDeliver, hasSpace, isCacheEnabled, isDuplicate, isEnableAudit, isFull, isPrioritizedMessageSubscriber, isStarted, isUseCache, pageInList, rebase, recordUniqueId, resetForGC, rollback, setCacheEnabled, setMessageAuditpublic StoreDurableSubscriberCursor(Broker broker, String clientId, String subscriberName, int maxBatchSize, DurableTopicSubscription subscription)
broker - Broker for this cursorclientId - clientId for this cursorsubscriberName - subscriber name for this cursormaxBatchSize - currently ignoredsubscription - subscription for this cursorpublic void start() throws Exception
start in interface org.apache.activemq.Servicestart in class AbstractPendingMessageCursorExceptionpublic void stop() throws Exception
stop in interface org.apache.activemq.Servicestop in class AbstractPendingMessageCursorExceptionpublic void add(ConnectionContext context, Destination destination) throws Exception
add in interface PendingMessageCursoradd in class AbstractPendingMessageCursorcontext - destination - Exceptionpublic List<org.apache.activemq.broker.region.MessageReference> remove(ConnectionContext context, Destination destination) throws Exception
remove in interface PendingMessageCursorremove in class AbstractPendingMessageCursorcontext - destination - Exceptionpublic boolean isEmpty()
isEmpty in interface PendingMessageCursorisEmpty in class AbstractPendingMessageCursorpublic boolean isEmpty(Destination destination)
PendingMessageCursorisEmpty in interface PendingMessageCursorisEmpty in class AbstractPendingMessageCursorpublic boolean isRecoveryRequired()
isRecoveryRequired in interface PendingMessageCursorisRecoveryRequired in class AbstractPendingMessageCursorAbstractPendingMessageCursorpublic boolean tryAddMessageLast(org.apache.activemq.broker.region.MessageReference node, long wait) throws Exception
PendingMessageCursortryAddMessageLast in interface PendingMessageCursortryAddMessageLast in class AbstractPendingMessageCursorIOExceptionExceptionpublic boolean isTransient()
isTransient in interface PendingMessageCursorisTransient in class AbstractPendingMessageCursorpublic void addMessageFirst(org.apache.activemq.broker.region.MessageReference node) throws Exception
PendingMessageCursoraddMessageFirst in interface PendingMessageCursoraddMessageFirst in class AbstractPendingMessageCursorExceptionpublic void addRecoveredMessage(org.apache.activemq.broker.region.MessageReference node) throws Exception
PendingMessageCursoraddRecoveredMessage in interface PendingMessageCursoraddRecoveredMessage in class AbstractPendingMessageCursorExceptionpublic void clear()
PendingMessageCursorclear in interface PendingMessageCursorclear in class AbstractPendingMessageCursorpublic boolean hasNext()
hasNext in interface PendingMessageCursorhasNext in class AbstractPendingMessageCursorpublic org.apache.activemq.broker.region.MessageReference next()
next in interface PendingMessageCursornext in class AbstractPendingMessageCursorpublic void remove()
PendingMessageCursorremove in interface PendingMessageCursorremove in class AbstractPendingMessageCursorpublic void remove(org.apache.activemq.broker.region.MessageReference node)
PendingMessageCursorremove in interface PendingMessageCursorremove in class AbstractPendingMessageCursorpublic void reset()
PendingMessageCursorreset in interface PendingMessageCursorreset in class AbstractPendingMessageCursorpublic void release()
PendingMessageCursorrelease in interface PendingMessageCursorrelease in class AbstractPendingMessageCursorpublic int size()
size in interface PendingMessageCursorsize in class AbstractPendingMessageCursorpublic long messageSize()
public void setMaxBatchSize(int newMaxBatchSize)
PendingMessageCursorsetMaxBatchSize in interface PendingMessageCursorsetMaxBatchSize in class AbstractPendingMessageCursorpublic void gc()
PendingMessageCursorgc in interface PendingMessageCursorgc in class AbstractPendingMessageCursorpublic void setSystemUsage(SystemUsage usageManager)
PendingMessageCursorsetSystemUsage in interface PendingMessageCursorsetSystemUsage in class AbstractPendingMessageCursorSystemUsagepublic void setMemoryUsageHighWaterMark(int memoryUsageHighWaterMark)
setMemoryUsageHighWaterMark in interface PendingMessageCursorsetMemoryUsageHighWaterMark in class AbstractPendingMessageCursormemoryUsageHighWaterMark - the memoryUsageHighWaterMark to setpublic void setMaxProducersToAudit(int maxProducersToAudit)
PendingMessageCursorsetMaxProducersToAudit in interface PendingMessageCursorsetMaxProducersToAudit in class AbstractPendingMessageCursormaxProducersToAudit - the maxProducersToAudit to setpublic void setMaxAuditDepth(int maxAuditDepth)
PendingMessageCursorsetMaxAuditDepth in interface PendingMessageCursorsetMaxAuditDepth in class AbstractPendingMessageCursormaxAuditDepth - the maxAuditDepth to setpublic void setEnableAudit(boolean enableAudit)
setEnableAudit in interface PendingMessageCursorsetEnableAudit in class AbstractPendingMessageCursorenableAudit - the enableAudit to setpublic void setUseCache(boolean useCache)
PendingMessageCursorsetUseCache in interface PendingMessageCursorsetUseCache in class AbstractPendingMessageCursorprotected PendingMessageCursor getNextCursor() throws Exception
Exceptionpublic boolean isImmediatePriorityDispatch()
public void setImmediatePriorityDispatch(boolean immediatePriorityDispatch)
Copyright © 2005–2020 The Apache Software Foundation. All rights reserved.