org.apache.activemq.store
Class ProxyMessageStore

java.lang.Object
  extended by org.apache.activemq.store.ProxyMessageStore
All Implemented Interfaces:
Service, MessageStore

public class ProxyMessageStore
extends Object
implements MessageStore

A simple proxy that delegates to another MessageStore.


Constructor Summary
ProxyMessageStore(MessageStore delegate)
           
 
Method Summary
 void addMessage(ConnectionContext context, Message message)
          Adds a message to the message store
 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)
           
 MessageStore getDelegate()
           
 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()
           
 boolean isEmpty()
          flag to indicate if the store is empty
 boolean isPrioritizedMessages()
           
 void recover(MessageRecoveryListener listener)
          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 removeAsyncMessage(ConnectionContext context, MessageAck ack)
           
 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 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
 

Constructor Detail

ProxyMessageStore

public ProxyMessageStore(MessageStore delegate)
Method Detail

getDelegate

public MessageStore getDelegate()

addMessage

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

Specified by:
addMessage in interface MessageStore
Parameters:
context - context
Throws:
IOException

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

getMessage

public Message getMessage(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.

Specified by:
getMessage in interface MessageStore
Parameters:
identity - which contains either the messageID or the messageNumber
Returns:
the message or null if it does not exist
Throws:
IOException

recover

public void recover(MessageRecoveryListener listener)
             throws Exception
Description copied from interface: MessageStore
Recover any messages to be delivered.

Specified by:
recover in interface MessageStore
Throws:
Exception

removeAllMessages

public void removeAllMessages(ConnectionContext context)
                       throws IOException
Description copied from interface: MessageStore
Removes all the messages from the message store.

Specified by:
removeAllMessages in interface MessageStore
Throws:
IOException

removeMessage

public void removeMessage(ConnectionContext context,
                          MessageAck ack)
                   throws IOException
Description copied from interface: MessageStore
Removes a message from the message store.

Specified by:
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.
Throws:
IOException

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

dispose

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

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.

getMessageCount

public int getMessageCount()
                    throws IOException
Specified by:
getMessageCount in interface MessageStore
Returns:
the number of messages ready to deliver
Throws:
IOException

recoverNextMessages

public void recoverNextMessages(int maxReturned,
                                MessageRecoveryListener listener)
                         throws Exception
Specified by:
recoverNextMessages in interface MessageStore
Throws:
Exception

resetBatching

public void resetBatching()
Description copied from interface: MessageStore
A hint to the Store to reset any batching state for the Destination

Specified by:
resetBatching in interface MessageStore

setBatch

public void setBatch(MessageId messageId)
              throws 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

isEmpty

public boolean isEmpty()
                throws Exception
Description copied from interface: MessageStore
flag to indicate if the store is empty

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

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)
                                    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

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

removeAsyncMessage

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

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


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