org.codehaus.activemq.store.journal
Class JournalMessageStore

java.lang.Object
  extended byorg.codehaus.activemq.store.journal.JournalMessageStore
All Implemented Interfaces:
org.codehaus.activemq.store.cache.CacheMessageStoreAware, org.codehaus.activemq.store.MessageStore, org.codehaus.activemq.service.Service

public class JournalMessageStore
extends Object
implements org.codehaus.activemq.store.MessageStore, org.codehaus.activemq.store.cache.CacheMessageStoreAware

A MessageStore that uses a Journal to store it's messages.

Version:
$Revision: 1.2 $

Constructor Summary
JournalMessageStore(JournalPersistenceAdapter adapter, org.codehaus.activemq.store.MessageStore checkpointStore, String destinationName, boolean sync)
           
 
Method Summary
 org.codehaus.activemq.service.MessageIdentity addMessage(org.codehaus.activemq.message.ActiveMQMessage message)
          Not synchronized since the Journal has better throughput if you increase the number of conncurrent writes that it is doing.
 org.codehaus.activemq.journal.RecordLocation checkpoint()
           
 org.codehaus.activemq.store.MessageStore getLongTermStore()
           
 org.codehaus.activemq.message.ActiveMQMessage getMessage(org.codehaus.activemq.service.MessageIdentity identity)
           
 void recover(org.codehaus.activemq.service.QueueMessageContainer container)
          Replays the checkpointStore first as those messages are the oldest ones, then messages are replayed from the transaction log and then the cache is updated.
 void removeAllMessages()
           
 void removeMessage(org.codehaus.activemq.service.MessageIdentity identity, org.codehaus.activemq.message.MessageAck ack)
           
 void setCacheMessageStore(org.codehaus.activemq.store.cache.CacheMessageStore store)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JournalMessageStore

public JournalMessageStore(JournalPersistenceAdapter adapter,
                           org.codehaus.activemq.store.MessageStore checkpointStore,
                           String destinationName,
                           boolean sync)
Method Detail

addMessage

public org.codehaus.activemq.service.MessageIdentity addMessage(org.codehaus.activemq.message.ActiveMQMessage message)
                                                         throws JMSException
Not synchronized since the Journal has better throughput if you increase the number of conncurrent writes that it is doing.

Specified by:
addMessage in interface org.codehaus.activemq.store.MessageStore
Throws:
JMSException

removeMessage

public void removeMessage(org.codehaus.activemq.service.MessageIdentity identity,
                          org.codehaus.activemq.message.MessageAck ack)
                   throws JMSException
Specified by:
removeMessage in interface org.codehaus.activemq.store.MessageStore
Throws:
JMSException

checkpoint

public org.codehaus.activemq.journal.RecordLocation checkpoint()
                                                        throws JMSException
Returns:
Throws:
JMSException

getMessage

public org.codehaus.activemq.message.ActiveMQMessage getMessage(org.codehaus.activemq.service.MessageIdentity identity)
                                                         throws JMSException
Specified by:
getMessage in interface org.codehaus.activemq.store.MessageStore
Throws:
JMSException

recover

public void recover(org.codehaus.activemq.service.QueueMessageContainer container)
             throws JMSException
Replays the checkpointStore first as those messages are the oldest ones, then messages are replayed from the transaction log and then the cache is updated.

Specified by:
recover in interface org.codehaus.activemq.store.MessageStore
Parameters:
container -
Throws:
JMSException

start

public void start()
           throws JMSException
Specified by:
start in interface org.codehaus.activemq.service.Service
Throws:
JMSException

stop

public void stop()
          throws JMSException
Specified by:
stop in interface org.codehaus.activemq.service.Service
Throws:
JMSException

getLongTermStore

public org.codehaus.activemq.store.MessageStore getLongTermStore()
Returns:
Returns the longTermStore.

setCacheMessageStore

public void setCacheMessageStore(org.codehaus.activemq.store.cache.CacheMessageStore store)
Specified by:
setCacheMessageStore in interface org.codehaus.activemq.store.cache.CacheMessageStoreAware
See Also:
CacheMessageStoreAware.setCacheMessageStore(org.codehaus.activemq.store.cache.CacheMessageStore)

removeAllMessages

public void removeAllMessages()
                       throws JMSException
Specified by:
removeAllMessages in interface org.codehaus.activemq.store.MessageStore
Throws:
JMSException
See Also:
MessageStore.removeAllMessages()


Copyright © 2004-2005 Protique, Ltd.. All Rights Reserved.