public static Object newObjectEncoding(RecordInfo info) { return newObjectEncoding(info, null); }
/** * Go back through the messages and message refs we found in the journal and remove the ones that have been acked. * * @param acks the list of ack records we got from the journal */ private void removeAcked(ArrayList<RecordInfo> acks) { for (RecordInfo info : acks) { AckDescribe ack = (AckDescribe) DescribeJournal.newObjectEncoding(info, null); HashMap<Long, ReferenceDescribe> referenceDescribeHashMap = messageRefs.get(info.id); referenceDescribeHashMap.remove(ack.refEncoding.queueID); if (referenceDescribeHashMap.size() == 0) { messages.remove(info.id); messageRefs.remove(info.id); } } }
/** * Go back through the messages and message refs we found in the journal and remove the ones that have been acked. * * @param acks the list of ack records we got from the journal */ private void removeAcked(ArrayList<RecordInfo> acks) { for (RecordInfo info : acks) { AckDescribe ack = (AckDescribe) DescribeJournal.newObjectEncoding(info, null); HashMap<Long, ReferenceDescribe> referenceDescribeHashMap = messageRefs.get(info.id); referenceDescribeHashMap.remove(ack.refEncoding.queueID); if (referenceDescribeHashMap.size() == 0) { messages.remove(info.id); messageRefs.remove(info.id); } } }
private static String describeRecord(RecordInfo info, boolean safe) { return "recordID=" + info.id + ";userRecordType=" + info.userRecordType + ";isUpdate=" + info.isUpdate + ";compactCount=" + info.compactCount + ";" + toString(newObjectEncoding(info), safe); }
/** * Open the bindings journal and extract all bindings data. * * @throws Exception will be thrown if anything goes wrong reading the bindings journal */ private void getBindings() throws Exception { List<RecordInfo> records = new LinkedList<>(); Journal bindingsJournal = storageManager.getBindingsJournal(); bindingsJournal.start(); ActiveMQServerLogger.LOGGER.debug("Reading bindings journal from " + config.getBindingsDirectory()); bindingsJournal.load(records, null, null); for (RecordInfo info : records) { if (info.getUserRecordType() == JournalRecordIds.QUEUE_BINDING_RECORD) { PersistentQueueBindingEncoding bindingEncoding = (PersistentQueueBindingEncoding) DescribeJournal.newObjectEncoding(info, null); queueBindings.put(bindingEncoding.getId(), bindingEncoding); } else if (info.getUserRecordType() == JournalRecordIds.ADDRESS_BINDING_RECORD) { PersistentAddressBindingEncoding bindingEncoding = (PersistentAddressBindingEncoding) DescribeJournal.newObjectEncoding(info, null); addressBindings.put(bindingEncoding.getId(), bindingEncoding); } } bindingsJournal.stop(); }
/** * Open the bindings journal and extract all bindings data. * * @throws Exception will be thrown if anything goes wrong reading the bindings journal */ private void getBindings() throws Exception { List<RecordInfo> records = new LinkedList<>(); Journal bindingsJournal = storageManager.getBindingsJournal(); bindingsJournal.start(); ActiveMQServerLogger.LOGGER.debug("Reading bindings journal from " + config.getBindingsDirectory()); bindingsJournal.load(records, null, null); for (RecordInfo info : records) { if (info.getUserRecordType() == JournalRecordIds.QUEUE_BINDING_RECORD) { PersistentQueueBindingEncoding bindingEncoding = (PersistentQueueBindingEncoding) DescribeJournal.newObjectEncoding(info, null); queueBindings.put(bindingEncoding.getId(), bindingEncoding); } else if (info.getUserRecordType() == JournalRecordIds.ADDRESS_BINDING_RECORD) { PersistentAddressBindingEncoding bindingEncoding = (PersistentAddressBindingEncoding) DescribeJournal.newObjectEncoding(info, null); addressBindings.put(bindingEncoding.getId(), bindingEncoding); } } bindingsJournal.stop(); }
long queueIDForCounter = 0; Object o = newObjectEncoding(info); if (info.getUserRecordType() == JournalRecordIds.ADD_MESSAGE) { messageCount++; out.println(tx.getId()); for (RecordInfo info : tx.getRecords()) { Object o = newObjectEncoding(info); out.println("- " + describeRecord(info, o, safe)); if (info.getUserRecordType() == 31) {
public void checkRecordCounter(RecordInfo info) { if (info.getUserRecordType() == JournalRecordIds.PAGE_CURSOR_COUNTER_VALUE) { PageCountRecord encoding = (PageCountRecord) newObjectEncoding(info); long queueIDForCounter = encoding.getQueueID(); PageCountRecordInc encoding = (PageCountRecordInc) newObjectEncoding(info); long queueIDForCounter = encoding.getQueueID();
Object o = DescribeJournal.newObjectEncoding(info, storageManager); if (info.getUserRecordType() == JournalRecordIds.ADD_MESSAGE) { messages.put(info.id, ((MessageDescribe) o).getMsg().toCore());
Object o = DescribeJournal.newObjectEncoding(info, storageManager); if (info.getUserRecordType() == JournalRecordIds.ADD_MESSAGE) { messages.put(info.id, ((MessageDescribe) o).getMsg().toCore());
Object o = DescribeJournal.newObjectEncoding(info); if (info.getUserRecordType() == JournalRecordIds.ADD_REF) { DescribeJournal.ReferenceDescribe ref = (DescribeJournal.ReferenceDescribe) o;
DescribeJournal.ReferenceDescribe ref = (ReferenceDescribe) DescribeJournal.newObjectEncoding(info); AckDescribe ref = (AckDescribe) DescribeJournal.newObjectEncoding(info);