public class FilePendingMessageCursor extends AbstractPendingMessageCursor implements UsageListener
Modifier and Type | Field and Description |
---|---|
protected Broker |
broker |
audit, enableAudit, last, maxAuditDepth, maxBatchSize, maxProducersToAudit, memoryUsageHighWaterMark, prioritizedMessages, systemUsage, useCache
INFINITE_WAIT
Constructor and Description |
---|
FilePendingMessageCursor(Broker broker,
String name,
boolean prioritizedMessages) |
Modifier and Type | Method and Description |
---|---|
void |
addMessageFirst(MessageReference node)
add message to await dispatch
|
void |
clear()
clear all pending messages
|
void |
destroy()
destroy the cursor
|
protected void |
flushToDisk() |
protected ByteSequence |
getByteSequence(Message message) |
PList |
getDiskList() |
protected Message |
getMessage(ByteSequence bs) |
boolean |
hasMessagesBufferedToDeliver() |
boolean |
hasNext() |
protected boolean |
isDiskListEmpty() |
boolean |
isEmpty() |
boolean |
isFull() |
boolean |
isTransient() |
long |
messageSize() |
MessageReference |
next() |
void |
onUsageChanged(Usage usage,
int oldPercentUsage,
int newPercentUsage) |
LinkedList<MessageReference> |
pageInList(int maxItems)
Page in a restricted number of messages
|
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
|
void |
remove(MessageReference node)
remove a node
|
void |
reset()
reset the cursor
|
void |
setSystemUsage(SystemUsage usageManager)
Set the UsageManager
|
int |
size() |
void |
start() |
void |
stop() |
boolean |
tryAddMessageLast(MessageReference node,
long maxWaitTime)
add message to await dispatch
|
add, addMessageLast, addRecoveredMessage, fillBatch, gc, getMaxAuditDepth, getMaxBatchSize, getMaxProducersToAudit, getMemoryUsageHighWaterMark, getMessageAudit, getSystemUsage, hasSpace, isCacheEnabled, isDuplicate, isEmpty, isEnableAudit, isPrioritizedMessageSubscriber, isRecoveryRequired, isStarted, isUseCache, rebase, recordUniqueId, remove, resetForGC, rollback, setCacheEnabled, setEnableAudit, setMaxAuditDepth, setMaxBatchSize, setMaxProducersToAudit, setMemoryUsageHighWaterMark, setMessageAudit, setUseCache
public FilePendingMessageCursor(Broker broker, String name, boolean prioritizedMessages)
broker
- name
- prioritizedMessages
- public void start() throws Exception
start
in interface Service
start
in class AbstractPendingMessageCursor
Exception
public void stop() throws Exception
stop
in interface Service
stop
in class AbstractPendingMessageCursor
Exception
public boolean isEmpty()
isEmpty
in interface PendingMessageCursor
isEmpty
in class AbstractPendingMessageCursor
public void reset()
reset
in interface PendingMessageCursor
reset
in class AbstractPendingMessageCursor
public void release()
PendingMessageCursor
release
in interface PendingMessageCursor
release
in class AbstractPendingMessageCursor
public void destroy() throws Exception
AbstractPendingMessageCursor
destroy
in interface PendingMessageCursor
destroy
in class AbstractPendingMessageCursor
Exception
public LinkedList<MessageReference> pageInList(int maxItems)
AbstractPendingMessageCursor
pageInList
in interface PendingMessageCursor
pageInList
in class AbstractPendingMessageCursor
maxItems
- maximum number of messages to returnpublic boolean tryAddMessageLast(MessageReference node, long maxWaitTime) throws Exception
tryAddMessageLast
in interface PendingMessageCursor
tryAddMessageLast
in class AbstractPendingMessageCursor
node
- Exception
IOException
public void addMessageFirst(MessageReference node)
addMessageFirst
in interface PendingMessageCursor
addMessageFirst
in class AbstractPendingMessageCursor
node
- public boolean hasNext()
hasNext
in interface PendingMessageCursor
hasNext
in class AbstractPendingMessageCursor
public MessageReference next()
next
in interface PendingMessageCursor
next
in class AbstractPendingMessageCursor
public void remove()
remove
in interface PendingMessageCursor
remove
in class AbstractPendingMessageCursor
public void remove(MessageReference node)
PendingMessageCursor
remove
in interface PendingMessageCursor
remove
in class AbstractPendingMessageCursor
node
- AbstractPendingMessageCursor.remove(org.apache.activemq.broker.region.MessageReference)
public int size()
size
in interface PendingMessageCursor
size
in class AbstractPendingMessageCursor
public long messageSize()
messageSize
in interface PendingMessageCursor
public void clear()
clear
in interface PendingMessageCursor
clear
in class AbstractPendingMessageCursor
public boolean isFull()
isFull
in interface PendingMessageCursor
isFull
in class AbstractPendingMessageCursor
public boolean hasMessagesBufferedToDeliver()
hasMessagesBufferedToDeliver
in interface PendingMessageCursor
hasMessagesBufferedToDeliver
in class AbstractPendingMessageCursor
public void setSystemUsage(SystemUsage usageManager)
PendingMessageCursor
setSystemUsage
in interface PendingMessageCursor
setSystemUsage
in class AbstractPendingMessageCursor
SystemUsage
public void onUsageChanged(Usage usage, int oldPercentUsage, int newPercentUsage)
onUsageChanged
in interface UsageListener
public boolean isTransient()
isTransient
in interface PendingMessageCursor
isTransient
in class AbstractPendingMessageCursor
protected void flushToDisk()
protected boolean isDiskListEmpty()
public PList getDiskList()
protected ByteSequence getByteSequence(Message message) throws IOException
IOException
protected Message getMessage(ByteSequence bs) throws IOException
IOException
Copyright © 2005–2019 The Apache Software Foundation. All rights reserved.