Class PostOfficeJournalLoader
- java.lang.Object
-
- org.apache.activemq.artemis.core.server.impl.PostOfficeJournalLoader
-
- All Implemented Interfaces:
JournalLoader
- Direct Known Subclasses:
BackupRecoveryJournalLoader
public class PostOfficeJournalLoader extends Object implements JournalLoader
-
-
Field Summary
Fields Modifier and Type Field Description protected NodeManagernodeManagerprotected PagingManagerpagingManagerprotected PostOfficepostOffice
-
Constructor Summary
Constructors Constructor Description PostOfficeJournalLoader(PostOffice postOffice, PagingManager pagingManager, StorageManager storageManager, QueueFactory queueFactory, NodeManager nodeManager, ManagementService managementService, GroupingHandler groupingHandler, Configuration configuration)PostOfficeJournalLoader(PostOffice postOffice, PagingManager pagingManager, StorageManager storageManager, QueueFactory queueFactory, NodeManager nodeManager, ManagementService managementService, GroupingHandler groupingHandler, Configuration configuration, Map<Long,Queue> queues)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanUp()voidhandleAddMessage(Map<Long,Map<Long,AddMessageRecord>> queueMap)voidhandleDuplicateIds(Map<SimpleString,List<Pair<byte[],Long>>> duplicateIDMap)voidhandleGroupingBindings(List<GroupingInfo> groupingInfos)voidhandleNoMessageReferences(Map<Long,Message> messages)voidhandlePreparedAcknowledge(long messageID, List<MessageReference> referencesToAck, long queueID)voidhandlePreparedSendMessage(Message message, Transaction tx, long queueID)voidhandlePreparedTransaction(Transaction tx, List<MessageReference> referencesToAck, Xid xid, ResourceManager resourceManager)voidinitAddresses(List<AddressBindingInfo> addressBindingInfos)voidinitQueues(Map<Long,QueueBindingInfo> queueBindingInfosMap, List<QueueBindingInfo> queueBindingInfos)voidpostLoad(Journal messageJournal, ResourceManager resourceManager, Map<SimpleString,List<Pair<byte[],Long>>> duplicateIDMap)voidrecoverPendingPageCounters(List<PageCountPending> pendingNonTXPageCounter)This method will recover the counters after failures making sure the page counter doesn't get out of sync
-
-
-
Field Detail
-
postOffice
protected final PostOffice postOffice
-
pagingManager
protected final PagingManager pagingManager
-
nodeManager
protected final NodeManager nodeManager
-
-
Constructor Detail
-
PostOfficeJournalLoader
public PostOfficeJournalLoader(PostOffice postOffice, PagingManager pagingManager, StorageManager storageManager, QueueFactory queueFactory, NodeManager nodeManager, ManagementService managementService, GroupingHandler groupingHandler, Configuration configuration)
-
PostOfficeJournalLoader
public PostOfficeJournalLoader(PostOffice postOffice, PagingManager pagingManager, StorageManager storageManager, QueueFactory queueFactory, NodeManager nodeManager, ManagementService managementService, GroupingHandler groupingHandler, Configuration configuration, Map<Long,Queue> queues)
-
-
Method Detail
-
initQueues
public void initQueues(Map<Long,QueueBindingInfo> queueBindingInfosMap, List<QueueBindingInfo> queueBindingInfos) throws Exception
- Specified by:
initQueuesin interfaceJournalLoader- Throws:
Exception
-
initAddresses
public void initAddresses(List<AddressBindingInfo> addressBindingInfos) throws Exception
- Specified by:
initAddressesin interfaceJournalLoader- Throws:
Exception
-
handleAddMessage
public void handleAddMessage(Map<Long,Map<Long,AddMessageRecord>> queueMap) throws Exception
- Specified by:
handleAddMessagein interfaceJournalLoader- Throws:
Exception
-
handleNoMessageReferences
public void handleNoMessageReferences(Map<Long,Message> messages)
- Specified by:
handleNoMessageReferencesin interfaceJournalLoader
-
handleGroupingBindings
public void handleGroupingBindings(List<GroupingInfo> groupingInfos)
- Specified by:
handleGroupingBindingsin interfaceJournalLoader
-
handleDuplicateIds
public void handleDuplicateIds(Map<SimpleString,List<Pair<byte[],Long>>> duplicateIDMap) throws Exception
- Specified by:
handleDuplicateIdsin interfaceJournalLoader- Throws:
Exception
-
postLoad
public void postLoad(Journal messageJournal, ResourceManager resourceManager, Map<SimpleString,List<Pair<byte[],Long>>> duplicateIDMap) throws Exception
- Specified by:
postLoadin interfaceJournalLoader- Throws:
Exception
-
handlePreparedSendMessage
public void handlePreparedSendMessage(Message message, Transaction tx, long queueID) throws Exception
- Specified by:
handlePreparedSendMessagein interfaceJournalLoader- Throws:
Exception
-
handlePreparedAcknowledge
public void handlePreparedAcknowledge(long messageID, List<MessageReference> referencesToAck, long queueID) throws Exception- Specified by:
handlePreparedAcknowledgein interfaceJournalLoader- Throws:
Exception
-
handlePreparedTransaction
public void handlePreparedTransaction(Transaction tx, List<MessageReference> referencesToAck, Xid xid, ResourceManager resourceManager) throws Exception
- Specified by:
handlePreparedTransactionin interfaceJournalLoader- Throws:
Exception
-
recoverPendingPageCounters
public void recoverPendingPageCounters(List<PageCountPending> pendingNonTXPageCounter) throws Exception
This method will recover the counters after failures making sure the page counter doesn't get out of sync- Specified by:
recoverPendingPageCountersin interfaceJournalLoader- Parameters:
pendingNonTXPageCounter-- Throws:
Exception
-
cleanUp
public void cleanUp()
- Specified by:
cleanUpin interfaceJournalLoader
-
-