Package org.apache.activemq.store
Class AbstractMessageStore
- java.lang.Object
-
- org.apache.activemq.store.AbstractMessageStore
-
- All Implemented Interfaces:
Service,MessageStore
- Direct Known Subclasses:
JDBCMessageStore,JournalMessageStore,KahaDBStore.KahaDBMessageStore,MemoryMessageStore,TempKahaDBStore.KahaDBMessageStore
public abstract class AbstractMessageStore extends Object implements MessageStore
-
-
Field Summary
Fields Modifier and Type Field Description protected ActiveMQDestinationdestinationstatic ListenableFuture<Object>FUTUREprotected IndexListenerindexListenerprotected MessageStoreStatisticsmessageStoreStatisticsprotected booleanprioritizedMessages
-
Constructor Summary
Constructors Constructor Description AbstractMessageStore(ActiveMQDestination destination)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMessage(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)ActiveMQDestinationgetDestination()The destination that the message store is holding messages for.IndexListenergetIndexListener()intgetMessageCount()longgetMessageSize()MessageStoreStatisticsgetMessageStoreStatistics()booleanisEmpty()flag to indicate if the store is emptybooleanisPrioritizedMessages()protected voidrecoverMessageStoreStatistics()voidregisterIndexListener(IndexListener indexListener)voidremoveAsyncMessage(ConnectionContext context, MessageAck ack)voidsetBatch(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()voidupdateMessage(Message message)-
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, recover, recoverNextMessages, removeAllMessages, removeMessage, resetBatching
-
-
-
-
Field Detail
-
FUTURE
public static final ListenableFuture<Object> FUTURE
-
destination
protected final ActiveMQDestination destination
-
prioritizedMessages
protected boolean prioritizedMessages
-
indexListener
protected IndexListener indexListener
-
messageStoreStatistics
protected final MessageStoreStatistics messageStoreStatistics
-
-
Constructor Detail
-
AbstractMessageStore
public AbstractMessageStore(ActiveMQDestination destination)
-
-
Method Detail
-
dispose
public void dispose(ConnectionContext context)
- Specified by:
disposein interfaceMessageStore
-
start
public void start() throws Exception
-
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.
-
setBatch
public void setBatch(MessageId messageId) throws IOException, Exception
Description copied from interface:MessageStoreallow caching cursors to set the current batch offset when cache is exhausted- Specified by:
setBatchin interfaceMessageStore- Throws:
ExceptionIOException
-
isEmpty
public boolean isEmpty() throws Exceptionflag to indicate if the store is empty- Specified by:
isEmptyin interfaceMessageStore- Returns:
- true if the message count is 0
- Throws:
Exception
-
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
-
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
-
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, 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
-
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
-
removeAsyncMessage
public void removeAsyncMessage(ConnectionContext context, MessageAck ack) throws IOException
- Specified by:
removeAsyncMessagein interfaceMessageStore- Throws:
IOException
-
updateMessage
public void updateMessage(Message message) throws IOException
- Specified by:
updateMessagein interfaceMessageStore- Throws:
IOException
-
registerIndexListener
public void registerIndexListener(IndexListener indexListener)
- Specified by:
registerIndexListenerin interfaceMessageStore
-
getIndexListener
public IndexListener getIndexListener()
-
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
-
getMessageStoreStatistics
public MessageStoreStatistics getMessageStoreStatistics()
- Specified by:
getMessageStoreStatisticsin interfaceMessageStore- Returns:
- The statistics bean for this message store
-
recoverMessageStoreStatistics
protected void recoverMessageStoreStatistics() throws IOException- Throws:
IOException
-
-