public class KahaReferenceStore extends AbstractMessageStore implements ReferenceStore
ReferenceStore.ReferenceData
Modifier and Type | Field and Description |
---|---|
protected KahaReferenceStoreAdapter |
adapter |
protected ActiveMQMessageAudit |
dispatchAudit |
protected java.util.concurrent.locks.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(java.lang.Object object) |
ReferenceStore.ReferenceData |
getMessageReference(MessageId identity)
Looks up a message using either the String messageID or the
messageNumber.
|
java.util.concurrent.locks.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() |
asyncAddQueueMessage, asyncAddTopicMessage, getDestination, isEmpty, isPrioritizedMessages, removeAsyncMessage, setMemoryUsage, setPrioritizedMessages, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
asyncAddQueueMessage, asyncAddTopicMessage, getDestination, isEmpty, isPrioritizedMessages, removeAsyncMessage, setMemoryUsage, setPrioritizedMessages
protected final MapContainer<MessageId,ReferenceRecord> messageContainer
protected KahaReferenceStoreAdapter adapter
protected ActiveMQMessageAudit dispatchAudit
protected final java.util.concurrent.locks.Lock lock
public KahaReferenceStore(KahaReferenceStoreAdapter adapter, MapContainer<MessageId,ReferenceRecord> container, ActiveMQDestination destination) throws java.io.IOException
java.io.IOException
public java.util.concurrent.locks.Lock getStoreLock()
getStoreLock
in interface ReferenceStore
public void dispose(ConnectionContext context)
dispose
in interface MessageStore
dispose
in class AbstractMessageStore
protected MessageId getMessageId(java.lang.Object object)
public void addMessage(ConnectionContext context, Message message) throws java.io.IOException
MessageStore
addMessage
in interface MessageStore
context
- contextjava.io.IOException
public Message getMessage(MessageId identity) throws java.io.IOException
MessageStore
getMessage
in interface MessageStore
identity
- which contains either the messageID or the messageNumberjava.io.IOException
protected final boolean recoverReference(MessageRecoveryListener listener, ReferenceRecord record) throws java.lang.Exception
java.lang.Exception
public void recover(MessageRecoveryListener listener) throws java.lang.Exception
MessageStore
recover
in interface MessageStore
java.lang.Exception
public void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws java.lang.Exception
recoverNextMessages
in interface MessageStore
java.lang.Exception
public boolean addMessageReference(ConnectionContext context, MessageId messageId, ReferenceStore.ReferenceData data) throws java.io.IOException
ReferenceStore
addMessageReference
in interface ReferenceStore
java.io.IOException
protected boolean isDuplicate(MessageId messageId)
public ReferenceStore.ReferenceData getMessageReference(MessageId identity) throws java.io.IOException
ReferenceStore
getMessageReference
in interface ReferenceStore
java.io.IOException
public void removeMessage(ConnectionContext context, MessageAck ack) throws java.io.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.java.io.IOException
public void removeAllMessages(ConnectionContext context) throws java.io.IOException
MessageStore
removeAllMessages
in interface MessageStore
java.io.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-2012. All Rights Reserved.