@Override public void onReadUpdateRecordTX(long transactionID, RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
@Override public void onReadUpdateRecord(RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
@Override public void onReadAddRecordTX(long transactionID, RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
@Override public void onReadAddRecord(RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
/** * 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(); }
if (info.getUserRecordType() == JournalRecordIds.ADD_MESSAGE) { messages.put(info.id, ((MessageDescribe) o).getMsg().toCore()); } else if (info.getUserRecordType() == JournalRecordIds.ADD_MESSAGE_PROTOCOL) { messages.put(info.id, ((MessageDescribe) o).getMsg().toCore()); } else if (info.getUserRecordType() == JournalRecordIds.ADD_LARGE_MESSAGE) { messages.put(info.id, ((MessageDescribe) o).getMsg()); } else if (info.getUserRecordType() == JournalRecordIds.ADD_REF) { ReferenceDescribe ref = (ReferenceDescribe) o; HashMap<Long, ReferenceDescribe> map = messageRefs.get(info.id); map.put(ref.refEncoding.queueID, ref); } else if (info.getUserRecordType() == JournalRecordIds.ACKNOWLEDGE_REF) { acks.add(info); } else if (info.userRecordType == JournalRecordIds.ACKNOWLEDGE_CURSOR) {
byte rec = record.getUserRecordType();
@Override public void onReadAddRecord(final RecordInfo info) throws Exception { if (logger.isTraceEnabled()) { logger.trace("Read Record " + info); } if (containsRecord(info.id)) { JournalInternalRecord addRecord = new JournalAddRecord(true, info.id, info.getUserRecordType(), EncoderPersister.getInstance(), new ByteArrayEncoding(info.data)); addRecord.setCompactCount((short) (info.compactCount + 1)); checkSize(addRecord.getEncodeSize(), info.compactCount); writeEncoder(addRecord); newRecords.put(info.id, new JournalRecord(currentFile, addRecord.getEncodeSize())); } }
byte rec = record.getUserRecordType();
@Override public void onReadAddRecord(final RecordInfo info) throws Exception { if (logger.isTraceEnabled()) { logger.trace("Read Record " + info); } if (containsRecord(info.id)) { JournalInternalRecord addRecord = new JournalAddRecord(true, info.id, info.getUserRecordType(), EncoderPersister.getInstance(), new ByteArrayEncoding(info.data)); addRecord.setCompactCount((short) (info.compactCount + 1)); checkSize(addRecord.getEncodeSize(), info.compactCount); writeEncoder(addRecord); newRecords.put(info.id, new JournalRecord(currentFile, addRecord.getEncodeSize())); } }
@Override public void onReadAddRecordTX(final long transactionID, final RecordInfo info) throws Exception { if (logger.isTraceEnabled()) { logger.trace("Read Add Recprd TX " + transactionID + " info " + info); } if (pendingTransactions.get(transactionID) != null || containsRecord(info.id)) { JournalTransaction newTransaction = getNewJournalTransaction(transactionID); JournalInternalRecord record = new JournalAddRecordTX(true, transactionID, info.id, info.getUserRecordType(), EncoderPersister.getInstance(),new ByteArrayEncoding(info.data)); record.setCompactCount((short) (info.compactCount + 1)); checkSize(record.getEncodeSize(), info.compactCount); newTransaction.addPositive(currentFile, info.id, record.getEncodeSize()); writeEncoder(record); } }
@Override public void onReadAddRecordTX(final long transactionID, final RecordInfo info) throws Exception { if (logger.isTraceEnabled()) { logger.trace("Read Add Recprd TX " + transactionID + " info " + info); } if (pendingTransactions.get(transactionID) != null || containsRecord(info.id)) { JournalTransaction newTransaction = getNewJournalTransaction(transactionID); JournalInternalRecord record = new JournalAddRecordTX(true, transactionID, info.id, info.getUserRecordType(), EncoderPersister.getInstance(),new ByteArrayEncoding(info.data)); record.setCompactCount((short) (info.compactCount + 1)); checkSize(record.getEncodeSize(), info.compactCount); newTransaction.addPositive(currentFile, info.id, record.getEncodeSize()); writeEncoder(record); } }
public void checkRecordCounter(RecordInfo info) { if (info.getUserRecordType() == JournalRecordIds.PAGE_CURSOR_COUNTER_VALUE) { PageCountRecord encoding = (PageCountRecord) newObjectEncoding(info); long queueIDForCounter = encoding.getQueueID(); } else if (info.getUserRecordType() == JournalRecordIds.PAGE_CURSOR_COUNTER_INC) { PageCountRecordInc encoding = (PageCountRecordInc) newObjectEncoding(info); long queueIDForCounter = encoding.getQueueID();
if (info.getUserRecordType() == JournalRecordIds.ADD_REF) { DescribeJournal.ReferenceDescribe ref = (DescribeJournal.ReferenceDescribe) o; AtomicInteger count = messageRefCounts.get(ref.refEncoding.queueID);
Integer ikey = new Integer(info.getUserRecordType()); AtomicInteger value = recordsType.get(ikey); if (value == null) {
for (RecordInfo recordItem : records) { Assert.assertEquals(i * 100L, recordItem.id); Assert.assertEquals(i, recordItem.getUserRecordType()); Assert.assertEquals(5, recordItem.data.length); for (int j = 0; j < 5; j++) { Assert.assertEquals(i, recordItem.getUserRecordType()); Assert.assertEquals(5, recordItem.data.length); for (int j = 0; j < 5; j++) { Assert.assertEquals(i - 10, recordItem.getUserRecordType()); Assert.assertTrue(recordItem.isUpdate); Assert.assertEquals(10, recordItem.data.length);
for (RecordInfo info : infos) { System.out.println("info: " + info); if (info.getUserRecordType() == JournalRecordIds.QUEUE_BINDING_RECORD) { bindings++;
if (!info.isUpdate && info.getUserRecordType() != JournalRecordIds.PAGE_CURSOR_COUNTER_VALUE && info.getUserRecordType() != JournalRecordIds.PAGE_CURSOR_COUNTER_INC && info.getUserRecordType() != JournalRecordIds.PAGE_CURSOR_COMPLETE) { jrn.appendDeleteRecord(info.id, false);
public static Object newObjectEncoding(RecordInfo info, JournalStorageManager storageManager) { ActiveMQBuffer buffer = ActiveMQBuffers.wrappedBuffer(info.data); long id = info.id; int rec = info.getUserRecordType();