Home » activemq-parent-5.3.1-source-release » org.apache » activemq » store » journal » [javadoc | source]
org.apache.activemq.store.journal
public class: JournalMessageStore [javadoc | source]
java.lang.Object
   org.apache.activemq.store.AbstractMessageStore
      org.apache.activemq.store.journal.JournalMessageStore

All Implemented Interfaces:
    MessageStore

Direct Known Subclasses:
    JournalTopicMessageStore

A MessageStore that uses a Journal to store it's messages.
Field Summary
protected final  JournalPersistenceAdapter peristenceAdapter     
protected final  JournalTransactionStore transactionStore     
protected final  MessageStore longTermStore     
protected final  TransactionTemplate transactionTemplate     
protected  RecordLocation lastLocation     
protected  Set<RecordLocation> inFlightTxLocations     
Fields inherited from org.apache.activemq.store.AbstractMessageStore:
destination
Constructor:
 public JournalMessageStore(JournalPersistenceAdapter adapter,
    MessageStore checkpointStore,
    ActiveMQDestination destination) 
Method from org.apache.activemq.store.journal.JournalMessageStore Summary:
addMessage,   addMessage,   addMessageReference,   checkpoint,   checkpoint,   getLongTermMessageStore,   getMessage,   getMessageCount,   getMessageReference,   recover,   recoverNextMessages,   removeAllMessages,   removeMessage,   removeMessage,   replayAddMessage,   replayRemoveMessage,   resetBatching,   setBatch,   setMemoryUsage,   start,   stop
Methods from org.apache.activemq.store.AbstractMessageStore:
dispose,   getDestination,   isEmpty,   setBatch,   setMemoryUsage,   start,   stop
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.activemq.store.journal.JournalMessageStore Detail:
 public  void addMessage(ConnectionContext context,
    Message message) throws IOException 
    Not synchronized since the Journal has better throughput if you increase the number of concurrent writes that it is doing.
  void addMessage(Message message,
    RecordLocation location) 
 public  void addMessageReference(ConnectionContext context,
    MessageId messageId,
    long expirationTime,
    String messageRef) throws IOException 
 public RecordLocation checkpoint() throws IOException 
 public RecordLocation checkpoint(Callback postCheckpointTest) throws IOException 
 public MessageStore getLongTermMessageStore() 
 public Message getMessage(MessageId identity) throws IOException 
 public int getMessageCount() throws IOException 
 public String getMessageReference(MessageId identity) throws IOException 
 public  void recover(MessageRecoveryListener listener) throws Exception 
    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.
 public  void recoverNextMessages(int maxReturned,
    MessageRecoveryListener listener) throws Exception 
 public  void removeAllMessages(ConnectionContext context) throws IOException 
 public  void removeMessage(ConnectionContext context,
    MessageAck ack) throws IOException 
 final  void removeMessage(MessageAck ack,
    RecordLocation location) 
 public  void replayAddMessage(ConnectionContext context,
    Message message) 
 public  void replayRemoveMessage(ConnectionContext context,
    MessageAck messageAck) 
 public  void resetBatching() 
 public  void setBatch(MessageId messageId) throws Exception 
 public  void setMemoryUsage(MemoryUsage memoryUsage) 
 public  void start() throws Exception 
 public  void stop() throws Exception