Package org.apache.activemq.store
Class ProxyMessageStore
- java.lang.Object
-
- org.apache.activemq.store.ProxyMessageStore
-
- All Implemented Interfaces:
Service,MessageStore
- Direct Known Subclasses:
ProxyTopicMessageStore
public class ProxyMessageStore extends Object implements MessageStore
A simple proxy that delegates to another MessageStore.
-
-
Constructor Summary
Constructors Constructor Description ProxyMessageStore(MessageStore delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMessage(ConnectionContext context, Message message)Adds a message to the message storevoidaddMessage(ConnectionContext context, Message message, boolean canOptimizeHint)Adds a message to the message storeListenableFuture<Object>asyncAddQueueMessage(ConnectionContext context, Message message)Adds a message to the message storeListenableFuture<Object>asyncAddQueueMessage(ConnectionContext context, Message message, boolean canOptimizeHint)Adds a message to the message storeListenableFuture<Object>asyncAddTopicMessage(ConnectionContext context, Message message)Adds a message to the message storeListenableFuture<Object>asyncAddTopicMessage(ConnectionContext context, Message message, boolean canOptimizeHint)Adds a message to the message storevoiddispose(ConnectionContext context)MessageStoregetDelegate()ActiveMQDestinationgetDestination()The destination that the message store is holding messages for.MessagegetMessage(MessageId identity)Looks up a message using either the String messageID or the messageNumber.intgetMessageCount()longgetMessageSize()MessageStoreStatisticsgetMessageStoreStatistics()booleanisEmpty()flag to indicate if the store is emptybooleanisPrioritizedMessages()voidrecover(MessageRecoveryListener listener)Recover any messages to be delivered.voidrecoverNextMessages(int maxReturned, MessageRecoveryListener listener)voidregisterIndexListener(IndexListener indexListener)voidremoveAllMessages(ConnectionContext context)Removes all the messages from the message store.voidremoveAsyncMessage(ConnectionContext context, MessageAck ack)voidremoveMessage(ConnectionContext context, MessageAck ack)Removes a message from the message store.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 exhaustedvoidsetMemoryUsage(MemoryUsage memoryUsage)voidsetPrioritizedMessages(boolean prioritizedMessages)A hint to the store to try recover messages according to priorityvoidstart()voidstop()StringtoString()voidupdateMessage(Message message)
-
-
-
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:MessageStoreAdds a message to the message store- Specified by:
addMessagein interfaceMessageStore- Parameters:
context- context- Throws:
IOException
-
addMessage
public void addMessage(ConnectionContext context, Message message, boolean canOptimizeHint) throws IOException
Description copied from interface:MessageStoreAdds a message to the message store- Specified by:
addMessagein interfaceMessageStore- Parameters:
context- contextcanOptimizeHint- - 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: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.- Specified by:
getMessagein interfaceMessageStore- 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:MessageStoreRecover any messages to be delivered.- Specified by:
recoverin interfaceMessageStore- Throws:
Exception
-
removeAllMessages
public void removeAllMessages(ConnectionContext context) throws IOException
Description copied from interface:MessageStoreRemoves all the messages from the message store.- Specified by:
removeAllMessagesin interfaceMessageStore- Throws:
IOException
-
removeMessage
public void removeMessage(ConnectionContext context, MessageAck ack) throws IOException
Description copied from interface:MessageStoreRemoves a message from the message store.- Specified by:
removeMessagein interfaceMessageStoreack- 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
-
dispose
public void dispose(ConnectionContext context)
- Specified by:
disposein interfaceMessageStore
-
getDestination
public ActiveMQDestination getDestination()
Description copied from interface:MessageStoreThe destination that the message store is holding messages for.- Specified by:
getDestinationin interfaceMessageStore- Returns:
- the destination
-
setMemoryUsage
public void setMemoryUsage(MemoryUsage memoryUsage)
- Specified by:
setMemoryUsagein interfaceMessageStore- Parameters:
memoryUsage- The SystemUsage that is controlling the destination's memory usage.
-
getMessageCount
public int getMessageCount() throws IOException- Specified by:
getMessageCountin interfaceMessageStore- Returns:
- the number of messages ready to deliver
- Throws:
IOException
-
getMessageSize
public long getMessageSize() throws IOException- Specified by:
getMessageSizein interfaceMessageStore- Returns:
- the size of the messages ready to deliver
- Throws:
IOException
-
recoverNextMessages
public void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws Exception- Specified by:
recoverNextMessagesin interfaceMessageStore- Throws:
Exception
-
resetBatching
public void resetBatching()
Description copied from interface:MessageStoreA hint to the Store to reset any batching state for the Destination- Specified by:
resetBatchingin interfaceMessageStore
-
setBatch
public void setBatch(MessageId messageId) throws Exception
Description copied from interface:MessageStoreallow caching cursors to set the current batch offset when cache is exhausted- Specified by:
setBatchin interfaceMessageStore- Throws:
Exception
-
isEmpty
public boolean isEmpty() throws ExceptionDescription copied from interface:MessageStoreflag to indicate if the store is empty- Specified by:
isEmptyin interfaceMessageStore- Returns:
- true if the message count is 0
- Throws:
Exception
-
asyncAddQueueMessage
public ListenableFuture<Object> asyncAddQueueMessage(ConnectionContext context, Message message) throws IOException
Description copied from interface:MessageStoreAdds a message to the message store- Specified by:
asyncAddQueueMessagein interfaceMessageStore- Parameters:
context- context- Returns:
- a Future to track when this is complete
- Throws:
IOException
-
asyncAddQueueMessage
public ListenableFuture<Object> asyncAddQueueMessage(ConnectionContext context, Message message, boolean canOptimizeHint) throws IOException
Description copied from interface:MessageStoreAdds a message to the message store- Specified by:
asyncAddQueueMessagein interfaceMessageStore- Parameters:
context- contextcanOptimizeHint- - 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 ListenableFuture<Object> asyncAddTopicMessage(ConnectionContext context, Message message) throws IOException
Description copied from interface:MessageStoreAdds a message to the message store- Specified by:
asyncAddTopicMessagein interfaceMessageStore- Parameters:
context- context- Returns:
- a ListenableFuture to track when this is complete
- Throws:
IOException
-
asyncAddTopicMessage
public ListenableFuture<Object> asyncAddTopicMessage(ConnectionContext context, Message message, boolean canOptimizeHint) throws IOException
Description copied from interface:MessageStoreAdds a message to the message store- Specified by:
asyncAddTopicMessagein interfaceMessageStore- Parameters:
context- contextcanOptimizeHint- - give a hint to the store that the message may be consumed before it hits the disk- Returns:
- a ListenableFuture to track when this is complete
- Throws:
IOException
-
removeAsyncMessage
public void removeAsyncMessage(ConnectionContext context, MessageAck ack) throws IOException
- Specified by:
removeAsyncMessagein interfaceMessageStore- Throws:
IOException
-
setPrioritizedMessages
public void setPrioritizedMessages(boolean prioritizedMessages)
Description copied from interface:MessageStoreA hint to the store to try recover messages according to priority- Specified by:
setPrioritizedMessagesin interfaceMessageStore
-
isPrioritizedMessages
public boolean isPrioritizedMessages()
- Specified by:
isPrioritizedMessagesin interfaceMessageStore- Returns:
- true if store is trying to recover messages according to priority
-
updateMessage
public void updateMessage(Message message) throws IOException
- Specified by:
updateMessagein interfaceMessageStore- Throws:
IOException
-
registerIndexListener
public void registerIndexListener(IndexListener indexListener)
- Specified by:
registerIndexListenerin interfaceMessageStore
-
getMessageStoreStatistics
public MessageStoreStatistics getMessageStoreStatistics()
- Specified by:
getMessageStoreStatisticsin interfaceMessageStore- Returns:
- The statistics bean for this message store
-
-