org.apache.activemq.store
Interface MessageStore

All Superinterfaces:
Service
All Known Subinterfaces:
ReferenceStore, TopicMessageStore, TopicReferenceStore
All Known Implementing Classes:
AbstractMessageStore, AMQMessageStore, AMQTopicMessageStore, JDBCMessageStore, JDBCTopicMessageStore, JournalMessageStore, JournalTopicMessageStore, KahaDBStore.KahaDBMessageStore, KahaMessageStore, KahaReferenceStore, KahaTopicMessageStore, KahaTopicReferenceStore, MemoryMessageStore, MemoryTopicMessageStore, ProxyMessageStore, ProxyTopicMessageStore, TempKahaDBStore.KahaDBMessageStore

public interface MessageStore
extends Service

Represents a message store which is used by the persistent implementations

Version:
$Revision: 1.5 $

Method Summary
 void addMessage(ConnectionContext context, Message message)
          Adds a message to the message store
 void dispose(ConnectionContext context)
           
 ActiveMQDestination getDestination()
          The destination that the message store is holding messages for.
 Message getMessage(MessageId identity)
          Looks up a message using either the String messageID or the messageNumber.
 int getMessageCount()
           
 void recover(MessageRecoveryListener container)
          Recover any messages to be delivered.
 void recoverNextMessages(int maxReturned, MessageRecoveryListener listener)
           
 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 messageId)
          allow caching cursors to set the current batch offset when cache is exhausted
 void setMemoryUsage(MemoryUsage memoeyUSage)
           
 
Methods inherited from interface org.apache.activemq.Service
start, stop
 

Method Detail

addMessage

void addMessage(ConnectionContext context,
                Message message)
                throws IOException
Adds a message to the message store

Parameters:
context - context
message -
Throws:
IOException

getMessage

Message getMessage(MessageId identity)
                   throws IOException
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

void removeMessage(ConnectionContext context,
                   MessageAck ack)
                   throws IOException
Removes a message from the message store.

Parameters:
context -
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

removeAllMessages

void removeAllMessages(ConnectionContext context)
                       throws IOException
Removes all the messages from the message store.

Parameters:
context -
Throws:
IOException

recover

void recover(MessageRecoveryListener container)
             throws Exception
Recover any messages to be delivered.

Parameters:
container -
Throws:
Exception

getDestination

ActiveMQDestination getDestination()
The destination that the message store is holding messages for.

Returns:
the destination

setMemoryUsage

void setMemoryUsage(MemoryUsage memoeyUSage)
Parameters:
memoeyUSage - The SystemUsage that is controlling the destination's memory usage.

getMessageCount

int getMessageCount()
                    throws IOException
Returns:
the number of messages ready to deliver
Throws:
IOException

resetBatching

void resetBatching()
A hint to the Store to reset any batching state for the Destination


recoverNextMessages

void recoverNextMessages(int maxReturned,
                         MessageRecoveryListener listener)
                         throws Exception
Throws:
Exception

dispose

void dispose(ConnectionContext context)

setBatch

void setBatch(MessageId messageId)
              throws Exception
allow caching cursors to set the current batch offset when cache is exhausted

Parameters:
messageId -
Throws:
Exception


Copyright © 2009. All Rights Reserved.