@Override public JournalLoadInformation loadMessageJournal(PostOffice postOffice, PagingManager pagingManager, ResourceManager resourceManager, Map<Long, QueueBindingInfo> queueInfos, Map<SimpleString, List<Pair<byte[], Long>>> duplicateIDMap, Set<Pair<Long, Long>> pendingLargeMessages, List<PageCountPending> pendingNonTXPageCounter, JournalLoader journalLoader) throws Exception { return manager.loadMessageJournal(postOffice, pagingManager, resourceManager, queueInfos, duplicateIDMap, pendingLargeMessages, pendingNonTXPageCounter, journalLoader); }
journalInfo[1] = storageManager.loadMessageJournal(postOffice, pagingManager, resourceManager, queueBindingInfosMap, duplicateIDMap, pendingLargeMessages, pendingNonTXPageCounter, journalLoader);
/** * @throws Exception */ protected void createStorage() throws Exception { if (storeType == StoreConfiguration.StoreType.DATABASE) { journal = createJDBCJournalStorageManager(createDefaultJDBCConfig(true)); } else { journal = createJournalStorageManager(createDefaultInVMConfig()); } journal.start(); journal.loadBindingJournal(new ArrayList<QueueBindingInfo>(), new ArrayList<GroupingInfo>(), new ArrayList<AddressBindingInfo>()); journal.loadMessageJournal(new FakePostOffice(), null, null, null, null, null, null, new FakeJournalLoader()); }
@Test public void testDeleteMessagesOnStartup() throws Exception { createStorage(); Queue theQueue = new FakeQueue(new SimpleString("")); HashMap<Long, Queue> queues = new HashMap<>(); queues.put(100L, theQueue); Message msg = new CoreMessage(1, 100); journal.storeMessage(msg); for (int i = 2; i < 100; i++) { journal.storeMessage(new CoreMessage(i, 100)); } journal.storeReference(100, 1, true); journal.stop(); journal.start(); journal.loadBindingJournal(new ArrayList<QueueBindingInfo>(), new ArrayList<GroupingInfo>(), new ArrayList<AddressBindingInfo>()); FakePostOffice postOffice = new FakePostOffice(); journal.loadMessageJournal(postOffice, null, null, null, null, null, null, new PostOfficeJournalLoader(postOffice, null, journal, null, null, null, null, null, queues)); Assert.assertEquals(98, deletedMessage.size()); for (Long messageID : deletedMessage) { Assert.assertTrue("messageID = " + messageID, messageID.longValue() >= 2 && messageID <= 99); } }