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 void
addMessage(ConnectionContext context, Message message)
Adds a message to the message storevoid
addMessage(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 storevoid
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()
long
getMessageSize()
MessageStoreStatistics
getMessageStoreStatistics()
boolean
isEmpty()
flag to indicate if the store is emptyboolean
isPrioritizedMessages()
void
recover(MessageRecoveryListener listener)
Recover any messages to be delivered.void
recoverNextMessages(int maxReturned, MessageRecoveryListener listener)
void
registerIndexListener(IndexListener indexListener)
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 Destinationvoid
setBatch(MessageId messageId)
allow caching cursors to set the current batch offset when cache is exhaustedvoid
setMemoryUsage(MemoryUsage memoryUsage)
void
setPrioritizedMessages(boolean prioritizedMessages)
A hint to the store to try recover messages according to priorityvoid
start()
void
stop()
String
toString()
void
updateMessage(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:MessageStore
Adds a message to the message store- Specified by:
addMessage
in interfaceMessageStore
- 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 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: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 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:MessageStore
Recover any messages to be delivered.- Specified by:
recover
in interfaceMessageStore
- 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 interfaceMessageStore
- 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 interfaceMessageStore
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
-
dispose
public void dispose(ConnectionContext context)
- Specified by:
dispose
in interfaceMessageStore
-
getDestination
public ActiveMQDestination getDestination()
Description copied from interface:MessageStore
The destination that the message store is holding messages for.- Specified by:
getDestination
in interfaceMessageStore
- Returns:
- the destination
-
setMemoryUsage
public void setMemoryUsage(MemoryUsage memoryUsage)
- Specified by:
setMemoryUsage
in interfaceMessageStore
- Parameters:
memoryUsage
- The SystemUsage that is controlling the destination's memory usage.
-
getMessageCount
public int getMessageCount() throws IOException
- Specified by:
getMessageCount
in interfaceMessageStore
- Returns:
- the number of messages ready to deliver
- Throws:
IOException
-
getMessageSize
public long getMessageSize() throws IOException
- Specified by:
getMessageSize
in interfaceMessageStore
- Returns:
- the size of the messages ready to deliver
- Throws:
IOException
-
recoverNextMessages
public void recoverNextMessages(int maxReturned, MessageRecoveryListener listener) throws Exception
- Specified by:
recoverNextMessages
in interfaceMessageStore
- 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 interfaceMessageStore
-
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 interfaceMessageStore
- 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 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:MessageStore
Adds a message to the message store- Specified by:
asyncAddQueueMessage
in 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:MessageStore
Adds a message to the message store- Specified by:
asyncAddQueueMessage
in 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:MessageStore
Adds a message to the message store- Specified by:
asyncAddTopicMessage
in 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:MessageStore
Adds a message to the message store- Specified by:
asyncAddTopicMessage
in 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:
removeAsyncMessage
in interfaceMessageStore
- 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 interfaceMessageStore
-
isPrioritizedMessages
public boolean isPrioritizedMessages()
- Specified by:
isPrioritizedMessages
in interfaceMessageStore
- Returns:
- true if store is trying to recover messages according to priority
-
updateMessage
public void updateMessage(Message message) throws IOException
- Specified by:
updateMessage
in interfaceMessageStore
- Throws:
IOException
-
registerIndexListener
public void registerIndexListener(IndexListener indexListener)
- Specified by:
registerIndexListener
in interfaceMessageStore
-
getMessageStoreStatistics
public MessageStoreStatistics getMessageStoreStatistics()
- Specified by:
getMessageStoreStatistics
in interfaceMessageStore
- Returns:
- The statistics bean for this message store
-
-