public class KahaReferenceStore extends AbstractMessageStore implements ReferenceStore
ReferenceStore.ReferenceData
Modifier and Type | Field and Description |
---|---|
protected KahaReferenceStoreAdapter |
adapter |
protected ActiveMQMessageAudit |
dispatchAudit |
protected Lock |
lock |
protected MapContainer<MessageId,ReferenceRecord> |
messageContainer |
destination, FUTURE, prioritizedMessages
Constructor and Description |
---|
KahaReferenceStore(KahaReferenceStoreAdapter adapter,
MapContainer<MessageId,ReferenceRecord> container,
ActiveMQDestination destination) |
Modifier and Type | Method and Description |
---|---|
void |
addMessage(ConnectionContext context,
Message message)
Adds a message to the message store
|
boolean |
addMessageReference(ConnectionContext context,
MessageId messageId,
ReferenceStore.ReferenceData data)
Adds a message reference to the message store
|
void |
delete() |
void |
dispose(ConnectionContext context) |
Message |
getMessage(MessageId identity)
Looks up a message using either the String messageID or the
messageNumber.
|
int |
getMessageCount() |
protected MessageId |
getMessageId(Object object) |
ReferenceStore.ReferenceData |
getMessageReference(MessageId identity)
Looks up a message using either the String messageID or the
messageNumber.
|
Lock |
getStoreLock() |
protected boolean |
isDuplicate(MessageId messageId) |
boolean |
isSupportForCursors() |
void |
recover(MessageRecoveryListener listener)
Recover any messages to be delivered.
|
void |
recoverNextMessages(int maxReturned,
MessageRecoveryListener listener) |
protected boolean |
recoverReference(MessageRecoveryListener listener,
ReferenceRecord record) |
void |
removeAllMessages(ConnectionContext context)
Removes all the messages from the message store.
|
void |
removeMessage(ConnectionContext context,
MessageAck ack)
Removes a message from the message store.
|
void |
resetBatching()
A hint to the Store to reset any batching state for the Destination
|
void |
setBatch(MessageId startAfter)
allow caching cursors to set the current batch offset when cache is exhausted
|
boolean |
supportsExternalBatchControl() |
addMessage, asyncAddQueueMessage, asyncAddQueueMessage, asyncAddTopicMessage, asyncAddTopicMessage, getDestination, isEmpty, isPrioritizedMessages, removeAsyncMessage, setMemoryUsage, setPrioritizedMessages, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addMessage, asyncAddQueueMessage, asyncAddQueueMessage, asyncAddTopicMessage, asyncAddTopicMessage, getDestination, isEmpty, isPrioritizedMessages, removeAsyncMessage, setMemoryUsage, setPrioritizedMessages
protected final MapContainer<MessageId,ReferenceRecord> messageContainer
protected KahaReferenceStoreAdapter adapter
protected ActiveMQMessageAudit dispatchAudit
protected final Lock lock
public KahaReferenceStore(KahaReferenceStoreAdapter adapter, MapContainer<MessageId,ReferenceRecord> container, ActiveMQDestination destination) throws IOException
IOException
public Lock getStoreLock()
getStoreLock
in interface ReferenceStore
public void dispose(ConnectionContext context)
dispose
in interface MessageStore
dispose
in class AbstractMessageStore
public void addMessage(ConnectionContext context, Message message) throws IOException
MessageStore
addMessage
in interface MessageStore
context
- contextIOException
public Message getMessage(MessageId identity) throws IOException
MessageStore
getMessage
in interface MessageStore
identity
- which contains either the messageID or the messageNumberIOException
protected final boolean recoverReference(MessageRecoveryListener listener, ReferenceRecord record) throws Exception
Exception
public void recover(MessageRecoveryListener listener) throws Exception
MessageStore
recover
in interface MessageStore
Exception
public void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws Exception
recoverNextMessages
in interface MessageStore
Exception
public boolean addMessageReference(ConnectionContext context, MessageId messageId, ReferenceStore.ReferenceData data) throws IOException
ReferenceStore
addMessageReference
in interface ReferenceStore
IOException
protected boolean isDuplicate(MessageId messageId)
public ReferenceStore.ReferenceData getMessageReference(MessageId identity) throws IOException
ReferenceStore
getMessageReference
in interface ReferenceStore
IOException
public void removeMessage(ConnectionContext context, MessageAck ack) throws IOException
MessageStore
removeMessage
in interface MessageStore
ack
- the ack request that cause the message to be removed. It
conatins the identity which contains the messageID of the
message that needs to be removed.IOException
public void removeAllMessages(ConnectionContext context) throws IOException
MessageStore
removeAllMessages
in interface MessageStore
IOException
public void delete()
public void resetBatching()
MessageStore
resetBatching
in interface MessageStore
public int getMessageCount()
getMessageCount
in interface MessageStore
public boolean isSupportForCursors()
public boolean supportsExternalBatchControl()
supportsExternalBatchControl
in interface ReferenceStore
public void setBatch(MessageId startAfter)
MessageStore
setBatch
in interface MessageStore
setBatch
in interface ReferenceStore
setBatch
in class AbstractMessageStore
startAfter
- ReferenceStore.setBatch(org.apache.activemq.command.MessageId)
Copyright © 2005–2017 The Apache Software Foundation. All rights reserved.