Package org.apache.activemq.store
Class ProxyMessageStore
- java.lang.Object
-
- org.apache.activemq.store.ProxyMessageStore
-
- All Implemented Interfaces:
org.apache.activemq.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, org.apache.activemq.command.Message message)Adds a message to the message storevoidaddMessage(ConnectionContext context, org.apache.activemq.command.Message message, boolean canOptimizeHint)Adds a message to the message storeListenableFuture<Object>asyncAddQueueMessage(ConnectionContext context, org.apache.activemq.command.Message message)Adds a message to the message storeListenableFuture<Object>asyncAddQueueMessage(ConnectionContext context, org.apache.activemq.command.Message message, boolean canOptimizeHint)Adds a message to the message storeListenableFuture<Object>asyncAddTopicMessage(ConnectionContext context, org.apache.activemq.command.Message message)Adds a message to the message storeListenableFuture<Object>asyncAddTopicMessage(ConnectionContext context, org.apache.activemq.command.Message message, boolean canOptimizeHint)Adds a message to the message storevoiddispose(ConnectionContext context)MessageStoregetDelegate()org.apache.activemq.command.ActiveMQDestinationgetDestination()The destination that the message store is holding messages for.org.apache.activemq.command.MessagegetMessage(org.apache.activemq.command.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, org.apache.activemq.command.MessageAck ack)voidremoveMessage(ConnectionContext context, org.apache.activemq.command.MessageAck ack)Removes a message from the message store.voidresetBatching()A hint to the Store to reset any batching state for the DestinationvoidsetBatch(org.apache.activemq.command.MessageId messageId)allow caching cursors to set the current batch offset when cache is exhaustedvoidsetMemoryUsage(org.apache.activemq.usage.MemoryUsage memoryUsage)voidsetPrioritizedMessages(boolean prioritizedMessages)A hint to the store to try recover messages according to priorityvoidstart()voidstop()StringtoString()voidupdateMessage(org.apache.activemq.command.Message message)
-
-
-
Constructor Detail
-
ProxyMessageStore
public ProxyMessageStore(MessageStore delegate)
-
-
Method Detail
-
getDelegate
public MessageStore getDelegate()
-
addMessage
public void addMessage(ConnectionContext context, org.apache.activemq.command.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, org.apache.activemq.command.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 org.apache.activemq.command.Message getMessage(org.apache.activemq.command.MessageId identity) throws IOExceptionDescription 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, org.apache.activemq.command.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- Specified by:
startin interfaceorg.apache.activemq.Service- Throws:
Exception
-
stop
public void stop() throws Exception- Specified by:
stopin interfaceorg.apache.activemq.Service- Throws:
Exception
-
dispose
public void dispose(ConnectionContext context)
- Specified by:
disposein interfaceMessageStore
-
getDestination
public org.apache.activemq.command.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(org.apache.activemq.usage.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(org.apache.activemq.command.MessageId messageId) throws ExceptionDescription 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, org.apache.activemq.command.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, org.apache.activemq.command.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, org.apache.activemq.command.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, org.apache.activemq.command.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, org.apache.activemq.command.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(org.apache.activemq.command.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
-
-