Package org.apache.activemq.store.memory
Class MemoryMessageStore
- java.lang.Object
-
- org.apache.activemq.store.AbstractMessageStore
-
- org.apache.activemq.store.memory.MemoryMessageStore
-
- All Implemented Interfaces:
org.apache.activemq.Service
,MessageStore
- Direct Known Subclasses:
MemoryTopicMessageStore
public class MemoryMessageStore extends AbstractMessageStore
An implementation ofMessageStore
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.activemq.command.MessageId
lastBatchId
protected Map<org.apache.activemq.command.MessageId,org.apache.activemq.command.Message>
messageTable
protected long
sequenceId
-
Fields inherited from class org.apache.activemq.store.AbstractMessageStore
destination, FUTURE, indexListener, messageStoreStatistics, prioritizedMessages
-
-
Constructor Summary
Constructors Constructor Description MemoryMessageStore(org.apache.activemq.command.ActiveMQDestination destination)
MemoryMessageStore(org.apache.activemq.command.ActiveMQDestination destination, Map<org.apache.activemq.command.MessageId,org.apache.activemq.command.Message> messageTable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMessage(ConnectionContext context, org.apache.activemq.command.Message message)
Adds a message to the message storeprotected static void
decMessageStoreStatistics(MessageStoreStatistics stats, org.apache.activemq.command.Message message)
void
delete()
org.apache.activemq.command.Message
getMessage(org.apache.activemq.command.MessageId identity)
Looks up a message using either the String messageID or the messageNumber.protected static void
incMessageStoreStatistics(MessageStoreStatistics stats, org.apache.activemq.command.Message message)
void
recover(MessageRecoveryListener listener)
Recover any messages to be delivered.void
recoverMessageStoreStatistics()
void
recoverNextMessages(int maxReturned, MessageRecoveryListener listener)
void
removeAllMessages(ConnectionContext context)
Removes all the messages from the message store.void
removeMessage(ConnectionContext context, org.apache.activemq.command.MessageAck ack)
Removes a message from the message store.void
removeMessage(org.apache.activemq.command.MessageId msgId)
void
resetBatching()
A hint to the Store to reset any batching state for the Destinationvoid
setBatch(org.apache.activemq.command.MessageId messageId)
allow caching cursors to set the current batch offset when cache is exhaustedvoid
updateMessage(org.apache.activemq.command.Message message)
-
Methods inherited from class org.apache.activemq.store.AbstractMessageStore
addMessage, asyncAddQueueMessage, asyncAddQueueMessage, asyncAddTopicMessage, asyncAddTopicMessage, dispose, getDestination, getIndexListener, getMessageCount, getMessageSize, getMessageStoreStatistics, isEmpty, isPrioritizedMessages, registerIndexListener, removeAsyncMessage, setMemoryUsage, setPrioritizedMessages, start, stop
-
-
-
-
Field Detail
-
messageTable
protected final Map<org.apache.activemq.command.MessageId,org.apache.activemq.command.Message> messageTable
-
lastBatchId
protected org.apache.activemq.command.MessageId lastBatchId
-
sequenceId
protected long sequenceId
-
-
Constructor Detail
-
MemoryMessageStore
public MemoryMessageStore(org.apache.activemq.command.ActiveMQDestination destination)
-
MemoryMessageStore
public MemoryMessageStore(org.apache.activemq.command.ActiveMQDestination destination, Map<org.apache.activemq.command.MessageId,org.apache.activemq.command.Message> messageTable)
-
-
Method Detail
-
addMessage
public void addMessage(ConnectionContext context, org.apache.activemq.command.Message message) throws IOException
Description copied from interface:MessageStore
Adds a message to the message store- Parameters:
context
- context- Throws:
IOException
-
getMessage
public org.apache.activemq.command.Message getMessage(org.apache.activemq.command.MessageId identity) throws IOException
Description copied from interface:MessageStore
Looks up a message using either the String messageID or the messageNumber. Implementations are encouraged to fill in the missing key if its easy to do so.- Parameters:
identity
- which contains either the messageID or the messageNumber- Returns:
- the message or null if it does not exist
- Throws:
IOException
-
removeMessage
public void removeMessage(ConnectionContext context, org.apache.activemq.command.MessageAck ack) throws IOException
Description copied from interface:MessageStore
Removes a message from the message store.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.- Throws:
IOException
-
removeMessage
public void removeMessage(org.apache.activemq.command.MessageId msgId) throws IOException
- Throws:
IOException
-
recover
public void recover(MessageRecoveryListener listener) throws Exception
Description copied from interface:MessageStore
Recover any messages to be delivered.- Throws:
Exception
-
removeAllMessages
public void removeAllMessages(ConnectionContext context) throws IOException
Description copied from interface:MessageStore
Removes all the messages from the message store.- Throws:
IOException
-
delete
public void delete()
-
recoverNextMessages
public void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws Exception
- Throws:
Exception
-
resetBatching
public void resetBatching()
Description copied from interface:MessageStore
A hint to the Store to reset any batching state for the Destination
-
setBatch
public void setBatch(org.apache.activemq.command.MessageId messageId)
Description copied from interface:MessageStore
allow caching cursors to set the current batch offset when cache is exhausted- Specified by:
setBatch
in interfaceMessageStore
- Overrides:
setBatch
in classAbstractMessageStore
-
updateMessage
public void updateMessage(org.apache.activemq.command.Message message)
- Specified by:
updateMessage
in interfaceMessageStore
- Overrides:
updateMessage
in classAbstractMessageStore
-
recoverMessageStoreStatistics
public void recoverMessageStoreStatistics() throws IOException
- Overrides:
recoverMessageStoreStatistics
in classAbstractMessageStore
- Throws:
IOException
-
incMessageStoreStatistics
protected static final void incMessageStoreStatistics(MessageStoreStatistics stats, org.apache.activemq.command.Message message)
-
decMessageStoreStatistics
protected static final void decMessageStoreStatistics(MessageStoreStatistics stats, org.apache.activemq.command.Message message)
-
-