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:
Service,MessageStore
- Direct Known Subclasses:
MemoryTopicMessageStore
public class MemoryMessageStore extends AbstractMessageStore
An implementation ofMessageStore
-
-
Field Summary
Fields Modifier and Type Field Description protected MessageIdlastBatchIdprotected Map<MessageId,Message>messageTableprotected longsequenceId-
Fields inherited from class org.apache.activemq.store.AbstractMessageStore
destination, FUTURE, indexListener, messageStoreStatistics, prioritizedMessages
-
-
Constructor Summary
Constructors Constructor Description MemoryMessageStore(ActiveMQDestination destination)MemoryMessageStore(ActiveMQDestination destination, Map<MessageId,Message> messageTable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMessage(ConnectionContext context, Message message)Adds a message to the message storeprotected static voiddecMessageStoreStatistics(MessageStoreStatistics stats, Message message)voiddelete()MessagegetMessage(MessageId identity)Looks up a message using either the String messageID or the messageNumber.protected static voidincMessageStoreStatistics(MessageStoreStatistics stats, Message message)voidrecover(MessageRecoveryListener listener)Recover any messages to be delivered.voidrecoverMessageStoreStatistics()voidrecoverNextMessages(int maxReturned, MessageRecoveryListener listener)voidremoveAllMessages(ConnectionContext context)Removes all the messages from the message store.voidremoveMessage(ConnectionContext context, MessageAck ack)Removes a message from the message store.voidremoveMessage(MessageId msgId)voidresetBatching()A hint to the Store to reset any batching state for the DestinationvoidsetBatch(MessageId messageId)allow caching cursors to set the current batch offset when cache is exhaustedvoidupdateMessage(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
-
-
-
-
Constructor Detail
-
MemoryMessageStore
public MemoryMessageStore(ActiveMQDestination destination)
-
MemoryMessageStore
public MemoryMessageStore(ActiveMQDestination destination, Map<MessageId,Message> messageTable)
-
-
Method Detail
-
addMessage
public void addMessage(ConnectionContext context, Message message) throws IOException
Description copied from interface:MessageStoreAdds a message to the message store- Parameters:
context- context- Throws:
IOException
-
getMessage
public Message getMessage(MessageId identity) throws IOException
Description copied from interface:MessageStoreLooks 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, MessageAck ack) throws IOException
Description copied from interface:MessageStoreRemoves 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(MessageId msgId) throws IOException
- Throws:
IOException
-
recover
public void recover(MessageRecoveryListener listener) throws Exception
Description copied from interface:MessageStoreRecover any messages to be delivered.- Throws:
Exception
-
removeAllMessages
public void removeAllMessages(ConnectionContext context) throws IOException
Description copied from interface:MessageStoreRemoves 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:MessageStoreA hint to the Store to reset any batching state for the Destination
-
setBatch
public void setBatch(MessageId messageId)
Description copied from interface:MessageStoreallow caching cursors to set the current batch offset when cache is exhausted- Specified by:
setBatchin interfaceMessageStore- Overrides:
setBatchin classAbstractMessageStore
-
updateMessage
public void updateMessage(Message message)
- Specified by:
updateMessagein interfaceMessageStore- Overrides:
updateMessagein classAbstractMessageStore
-
recoverMessageStoreStatistics
public void recoverMessageStoreStatistics() throws IOException- Overrides:
recoverMessageStoreStatisticsin classAbstractMessageStore- Throws:
IOException
-
incMessageStoreStatistics
protected static final void incMessageStoreStatistics(MessageStoreStatistics stats, Message message)
-
decMessageStoreStatistics
protected static final void decMessageStoreStatistics(MessageStoreStatistics stats, Message message)
-
-