org.apache.activemq.store
Class AbstractMessageStore

java.lang.Object
  extended by org.apache.activemq.store.AbstractMessageStore
All Implemented Interfaces:
Service, MessageStore
Direct Known Subclasses:
AMQMessageStore, JDBCMessageStore, JournalMessageStore, KahaDBStore.KahaDBMessageStore, KahaMessageStore, KahaReferenceStore, MemoryMessageStore, TempKahaDBStore.KahaDBMessageStore

public abstract class AbstractMessageStore
extends Object
implements MessageStore


Field Summary
protected  ActiveMQDestination destination
           
static FutureTask<Object> FUTURE
           
protected  boolean prioritizedMessages
           
 
Constructor Summary
AbstractMessageStore(ActiveMQDestination destination)
           
 
Method Summary
 void addMessage(ConnectionContext context, Message message, boolean canOptimizeHint)
          Adds a message to the message store
 Future<Object> asyncAddQueueMessage(ConnectionContext context, Message message)
          Adds a message to the message store
 Future<Object> asyncAddQueueMessage(ConnectionContext context, Message message, boolean canOptimizeHint)
          Adds a message to the message store
 Future<Object> asyncAddTopicMessage(ConnectionContext context, Message message)
          Adds a message to the message store
 Future<Object> asyncAddTopicMessage(ConnectionContext context, Message message, boolean canOptimizeHint)
          Adds a message to the message store
 void dispose(ConnectionContext context)
           
 ActiveMQDestination getDestination()
          The destination that the message store is holding messages for.
 boolean isEmpty()
          flag to indicate if the store is empty
 boolean isPrioritizedMessages()
           
 void removeAsyncMessage(ConnectionContext context, MessageAck ack)
           
 void setBatch(MessageId messageId)
          allow caching cursors to set the current batch offset when cache is exhausted
 void setMemoryUsage(MemoryUsage memoryUsage)
           
 void setPrioritizedMessages(boolean prioritizedMessages)
          A hint to the store to try recover messages according to priority
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.activemq.store.MessageStore
addMessage, getMessage, getMessageCount, recover, recoverNextMessages, removeAllMessages, removeMessage, resetBatching
 

Field Detail

FUTURE

public static final FutureTask<Object> FUTURE

destination

protected final ActiveMQDestination destination

prioritizedMessages

protected boolean prioritizedMessages
Constructor Detail

AbstractMessageStore

public AbstractMessageStore(ActiveMQDestination destination)
Method Detail

dispose

public void dispose(ConnectionContext context)
Specified by:
dispose in interface MessageStore

start

public void start()
           throws Exception
Specified by:
start in interface Service
Throws:
Exception

stop

public void stop()
          throws Exception
Specified by:
stop in interface Service
Throws:
Exception

getDestination

public ActiveMQDestination getDestination()
Description copied from interface: MessageStore
The destination that the message store is holding messages for.

Specified by:
getDestination in interface MessageStore
Returns:
the destination

setMemoryUsage

public void setMemoryUsage(MemoryUsage memoryUsage)
Specified by:
setMemoryUsage in interface MessageStore
Parameters:
memoryUsage - The SystemUsage that is controlling the destination's memory usage.

setBatch

public void setBatch(MessageId messageId)
              throws IOException,
                     Exception
Description copied from interface: MessageStore
allow caching cursors to set the current batch offset when cache is exhausted

Specified by:
setBatch in interface MessageStore
Throws:
Exception
IOException

isEmpty

public boolean isEmpty()
                throws Exception
flag to indicate if the store is empty

Specified by:
isEmpty in interface MessageStore
Returns:
true if the message count is 0
Throws:
Exception

setPrioritizedMessages

public void setPrioritizedMessages(boolean prioritizedMessages)
Description copied from interface: MessageStore
A hint to the store to try recover messages according to priority

Specified by:
setPrioritizedMessages in interface MessageStore

isPrioritizedMessages

public boolean isPrioritizedMessages()
Specified by:
isPrioritizedMessages in interface MessageStore
Returns:
true if store is trying to recover messages according to priority

addMessage

public void addMessage(ConnectionContext context,
                       Message message,
                       boolean canOptimizeHint)
                throws IOException
Description copied from interface: MessageStore
Adds a message to the message store

Specified by:
addMessage in interface MessageStore
Parameters:
context - context
canOptimizeHint - - give a hint to the store that the message may be consumed before it hits the disk
Throws:
IOException

asyncAddQueueMessage

public Future<Object> asyncAddQueueMessage(ConnectionContext context,
                                           Message message)
                                    throws IOException
Description copied from interface: MessageStore
Adds a message to the message store

Specified by:
asyncAddQueueMessage in interface MessageStore
Parameters:
context - context
Returns:
a Future to track when this is complete
Throws:
IOException

asyncAddQueueMessage

public Future<Object> asyncAddQueueMessage(ConnectionContext context,
                                           Message message,
                                           boolean canOptimizeHint)
                                    throws IOException
Description copied from interface: MessageStore
Adds a message to the message store

Specified by:
asyncAddQueueMessage in interface MessageStore
Parameters:
context - context
canOptimizeHint - - give a hint to the store that the message may be consumed before it hits the disk
Returns:
a Future to track when this is complete
Throws:
IOException

asyncAddTopicMessage

public Future<Object> asyncAddTopicMessage(ConnectionContext context,
                                           Message message,
                                           boolean canOptimizeHint)
                                    throws IOException
Description copied from interface: MessageStore
Adds a message to the message store

Specified by:
asyncAddTopicMessage in interface MessageStore
Parameters:
context - context
canOptimizeHint - - give a hint to the store that the message may be consumed before it hits the disk
Returns:
a Future to track when this is complete
Throws:
IOException

asyncAddTopicMessage

public Future<Object> asyncAddTopicMessage(ConnectionContext context,
                                           Message message)
                                    throws IOException
Description copied from interface: MessageStore
Adds a message to the message store

Specified by:
asyncAddTopicMessage in interface MessageStore
Parameters:
context - context
Returns:
a Future to track when this is complete
Throws:
IOException

removeAsyncMessage

public void removeAsyncMessage(ConnectionContext context,
                               MessageAck ack)
                        throws IOException
Specified by:
removeAsyncMessage in interface MessageStore
Throws:
IOException


Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.