org.jboss.messaging.core.persistence.impl.journal
Class JournalStorageManager

java.lang.Object
  extended by org.jboss.messaging.core.persistence.impl.journal.JournalStorageManager
All Implemented Interfaces:
StorageManager, MessagingComponent

public class JournalStorageManager
extends java.lang.Object
implements StorageManager

A JournalStorageManager

Author:
Tim Fox, Clebert Suconic, Jeff Mesnil

Field Summary
static byte ACKNOWLEDGE_REF
           
static byte ADD_LARGE_MESSAGE
           
static byte ADD_MESSAGE
           
static byte ADD_REF
           
static byte DUPLICATE_ID
           
static byte ID_COUNTER_RECORD
           
static byte PAGE_TRANSACTION
           
static byte PERSISTENT_ID_RECORD
           
static byte QUEUE_BINDING_RECORD
           
static byte SET_SCHEDULED_DELIVERY_TIME
           
static int SIZE_FIELDS
           
static byte UPDATE_DELIVERY_COUNT
           
 
Constructor Summary
JournalStorageManager(Configuration config, java.util.concurrent.Executor executor)
           
 
Method Summary
 void addQueueBinding(Binding binding)
           
 void commit(long txID)
           
 LargeServerMessage createLargeMessage()
           
 void deleteDuplicateID(long recordID)
           
 void deleteDuplicateIDTransactional(long txID, long recordID)
           
 void deleteMessage(long messageID)
           
 void deleteMessageTransactional(long txID, long queueID, long messageID)
           
 void deletePageTransactional(long txID, long recordID)
           
 void deleteQueueBinding(long queueBindingID)
           
 long generateUniqueID()
           
 Journal getBindingsJournal()
           
 long getCurrentUniqueID()
           
 Journal getMessageJournal()
           
 UUID getPersistentID()
           
 boolean isStarted()
           
 void loadBindingJournal(java.util.List<QueueBindingInfo> queueBindingInfos)
           
 void loadMessageJournal(PagingManager pagingManager, ResourceManager resourceManager, java.util.Map<java.lang.Long,Queue> queues, java.util.Map<SimpleString,java.util.List<Pair<byte[],java.lang.Long>>> duplicateIDMap)
           
 void prepare(long txID, javax.transaction.xa.Xid xid)
           
 void rollback(long txID)
           
 void setPersistentID(UUID id)
           
 void setUniqueIDSequence(long id)
           
 void start()
           
 void stop()
           
 void storeAcknowledge(long queueID, long messageID)
           
 void storeAcknowledgeTransactional(long txID, long queueID, long messageID)
           
 void storeDuplicateID(SimpleString address, byte[] duplID, long recordID)
           
 void storeDuplicateIDTransactional(long txID, SimpleString address, byte[] duplID, long recordID)
           
 void storeMessage(ServerMessage message)
           
 void storeMessageTransactional(long txID, ServerMessage message)
           
 void storePageTransaction(long txID, PageTransactionInfo pageTransaction)
           
 void storeReference(long queueID, long messageID)
           
 void storeReferenceTransactional(long txID, long queueID, long messageID)
           
 void updateDeliveryCount(MessageReference ref)
           
 void updateDuplicateID(SimpleString address, byte[] duplID, long recordID)
           
 void updateDuplicateIDTransactional(long txID, SimpleString address, byte[] duplID, long recordID)
           
 void updateScheduledDeliveryTime(MessageReference ref)
           
 void updateScheduledDeliveryTimeTransactional(long txID, MessageReference ref)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

QUEUE_BINDING_RECORD

public static final byte QUEUE_BINDING_RECORD
See Also:
Constant Field Values

PERSISTENT_ID_RECORD

public static final byte PERSISTENT_ID_RECORD
See Also:
Constant Field Values

ID_COUNTER_RECORD

public static final byte ID_COUNTER_RECORD
See Also:
Constant Field Values

SIZE_FIELDS

public static final int SIZE_FIELDS
See Also:
Constant Field Values

ADD_LARGE_MESSAGE

public static final byte ADD_LARGE_MESSAGE
See Also:
Constant Field Values

ADD_MESSAGE

public static final byte ADD_MESSAGE
See Also:
Constant Field Values

ADD_REF

public static final byte ADD_REF
See Also:
Constant Field Values

ACKNOWLEDGE_REF

public static final byte ACKNOWLEDGE_REF
See Also:
Constant Field Values

UPDATE_DELIVERY_COUNT

public static final byte UPDATE_DELIVERY_COUNT
See Also:
Constant Field Values

PAGE_TRANSACTION

public static final byte PAGE_TRANSACTION
See Also:
Constant Field Values

SET_SCHEDULED_DELIVERY_TIME

public static final byte SET_SCHEDULED_DELIVERY_TIME
See Also:
Constant Field Values

DUPLICATE_ID

public static final byte DUPLICATE_ID
See Also:
Constant Field Values
Constructor Detail

JournalStorageManager

public JournalStorageManager(Configuration config,
                             java.util.concurrent.Executor executor)
Method Detail

getPersistentID

public UUID getPersistentID()
Specified by:
getPersistentID in interface StorageManager

setPersistentID

public void setPersistentID(UUID id)
                     throws java.lang.Exception
Specified by:
setPersistentID in interface StorageManager
Throws:
java.lang.Exception

generateUniqueID

public long generateUniqueID()
Specified by:
generateUniqueID in interface StorageManager

getCurrentUniqueID

public long getCurrentUniqueID()
Specified by:
getCurrentUniqueID in interface StorageManager

setUniqueIDSequence

public void setUniqueIDSequence(long id)
Specified by:
setUniqueIDSequence in interface StorageManager

createLargeMessage

public LargeServerMessage createLargeMessage()
Specified by:
createLargeMessage in interface StorageManager

storeMessage

public void storeMessage(ServerMessage message)
                  throws java.lang.Exception
Specified by:
storeMessage in interface StorageManager
Throws:
java.lang.Exception

storeReference

public void storeReference(long queueID,
                           long messageID)
                    throws java.lang.Exception
Specified by:
storeReference in interface StorageManager
Throws:
java.lang.Exception

storeAcknowledge

public void storeAcknowledge(long queueID,
                             long messageID)
                      throws java.lang.Exception
Specified by:
storeAcknowledge in interface StorageManager
Throws:
java.lang.Exception

deleteMessage

public void deleteMessage(long messageID)
                   throws java.lang.Exception
Specified by:
deleteMessage in interface StorageManager
Throws:
java.lang.Exception

updateScheduledDeliveryTime

public void updateScheduledDeliveryTime(MessageReference ref)
                                 throws java.lang.Exception
Specified by:
updateScheduledDeliveryTime in interface StorageManager
Throws:
java.lang.Exception

storeDuplicateID

public void storeDuplicateID(SimpleString address,
                             byte[] duplID,
                             long recordID)
                      throws java.lang.Exception
Specified by:
storeDuplicateID in interface StorageManager
Throws:
java.lang.Exception

updateDuplicateID

public void updateDuplicateID(SimpleString address,
                              byte[] duplID,
                              long recordID)
                       throws java.lang.Exception
Specified by:
updateDuplicateID in interface StorageManager
Throws:
java.lang.Exception

deleteDuplicateID

public void deleteDuplicateID(long recordID)
                       throws java.lang.Exception
Specified by:
deleteDuplicateID in interface StorageManager
Throws:
java.lang.Exception

storeMessageTransactional

public void storeMessageTransactional(long txID,
                                      ServerMessage message)
                               throws java.lang.Exception
Specified by:
storeMessageTransactional in interface StorageManager
Throws:
java.lang.Exception

storePageTransaction

public void storePageTransaction(long txID,
                                 PageTransactionInfo pageTransaction)
                          throws java.lang.Exception
Specified by:
storePageTransaction in interface StorageManager
Throws:
java.lang.Exception

storeReferenceTransactional

public void storeReferenceTransactional(long txID,
                                        long queueID,
                                        long messageID)
                                 throws java.lang.Exception
Specified by:
storeReferenceTransactional in interface StorageManager
Throws:
java.lang.Exception

storeAcknowledgeTransactional

public void storeAcknowledgeTransactional(long txID,
                                          long queueID,
                                          long messageID)
                                   throws java.lang.Exception
Specified by:
storeAcknowledgeTransactional in interface StorageManager
Throws:
java.lang.Exception

deletePageTransactional

public void deletePageTransactional(long txID,
                                    long recordID)
                             throws java.lang.Exception
Specified by:
deletePageTransactional in interface StorageManager
Throws:
java.lang.Exception

updateScheduledDeliveryTimeTransactional

public void updateScheduledDeliveryTimeTransactional(long txID,
                                                     MessageReference ref)
                                              throws java.lang.Exception
Specified by:
updateScheduledDeliveryTimeTransactional in interface StorageManager
Throws:
java.lang.Exception

deleteMessageTransactional

public void deleteMessageTransactional(long txID,
                                       long queueID,
                                       long messageID)
                                throws java.lang.Exception
Specified by:
deleteMessageTransactional in interface StorageManager
Throws:
java.lang.Exception

prepare

public void prepare(long txID,
                    javax.transaction.xa.Xid xid)
             throws java.lang.Exception
Specified by:
prepare in interface StorageManager
Throws:
java.lang.Exception

commit

public void commit(long txID)
            throws java.lang.Exception
Specified by:
commit in interface StorageManager
Throws:
java.lang.Exception

rollback

public void rollback(long txID)
              throws java.lang.Exception
Specified by:
rollback in interface StorageManager
Throws:
java.lang.Exception

storeDuplicateIDTransactional

public void storeDuplicateIDTransactional(long txID,
                                          SimpleString address,
                                          byte[] duplID,
                                          long recordID)
                                   throws java.lang.Exception
Specified by:
storeDuplicateIDTransactional in interface StorageManager
Throws:
java.lang.Exception

updateDuplicateIDTransactional

public void updateDuplicateIDTransactional(long txID,
                                           SimpleString address,
                                           byte[] duplID,
                                           long recordID)
                                    throws java.lang.Exception
Specified by:
updateDuplicateIDTransactional in interface StorageManager
Throws:
java.lang.Exception

deleteDuplicateIDTransactional

public void deleteDuplicateIDTransactional(long txID,
                                           long recordID)
                                    throws java.lang.Exception
Specified by:
deleteDuplicateIDTransactional in interface StorageManager
Throws:
java.lang.Exception

updateDeliveryCount

public void updateDeliveryCount(MessageReference ref)
                         throws java.lang.Exception
Specified by:
updateDeliveryCount in interface StorageManager
Throws:
java.lang.Exception

loadMessageJournal

public void loadMessageJournal(PagingManager pagingManager,
                               ResourceManager resourceManager,
                               java.util.Map<java.lang.Long,Queue> queues,
                               java.util.Map<SimpleString,java.util.List<Pair<byte[],java.lang.Long>>> duplicateIDMap)
                        throws java.lang.Exception
Specified by:
loadMessageJournal in interface StorageManager
Throws:
java.lang.Exception

addQueueBinding

public void addQueueBinding(Binding binding)
                     throws java.lang.Exception
Specified by:
addQueueBinding in interface StorageManager
Throws:
java.lang.Exception

deleteQueueBinding

public void deleteQueueBinding(long queueBindingID)
                        throws java.lang.Exception
Specified by:
deleteQueueBinding in interface StorageManager
Throws:
java.lang.Exception

loadBindingJournal

public void loadBindingJournal(java.util.List<QueueBindingInfo> queueBindingInfos)
                        throws java.lang.Exception
Specified by:
loadBindingJournal in interface StorageManager
Throws:
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Specified by:
start in interface MessagingComponent
Throws:
java.lang.Exception

stop

public void stop()
          throws java.lang.Exception
Specified by:
stop in interface MessagingComponent
Throws:
java.lang.Exception

isStarted

public boolean isStarted()
Specified by:
isStarted in interface MessagingComponent

getMessageJournal

public Journal getMessageJournal()

getBindingsJournal

public Journal getBindingsJournal()


Copyright © 2006 JBoss Inc. All Rights Reserved.