Refine search
byte[] data = outputBuffer.buffer(); RecordInfo record = new RecordInfo(getId(uid, typeName), RECORD_TYPE, data, false, (short)0); previousRecord = getContentForType(typeName).putIfAbsent(uid, record); journal.appendUpdateRecord(previousRecord.id, RECORD_TYPE, data, syncWrites); } else { journal.appendAddRecord(record.id, RECORD_TYPE, data, syncWrites);
/** * 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(); }
try { JournalLoadInformation info = messageJournal.load(records, preparedTransactions, new LargeMessageTXFailureCallback(this, messages)); byte recordType = record.getUserRecordType(); } else { ActiveMQServerLogger.LOGGER.journalCannotFindQueueReloading(encoding.queueID); messageJournal.appendDeleteRecord(record.id, false); } else { ActiveMQServerLogger.LOGGER.journalCannotFindQueueReloadingPage(encoding.getQueueID()); messageJournal.appendDeleteRecord(record.id, false);
@Override public void onReadUpdateRecord(RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
private static RecordInfo parseRecord(final Properties properties) throws Exception { long id = parseLong("id", properties); byte userRecordType = parseByte("userRecordType", properties); boolean isUpdate = parseBoolean("isUpdate", properties); byte[] data = parseEncoding("data", properties); return new RecordInfo(id, userRecordType, data, isUpdate, (short) 0); }
JournalLoadInformation bindingsInfo = bindingsJournal.load(records, preparedTransactions, null); byte rec = record.getUserRecordType();
@Override public void onReadUpdateRecordTX(long transactionID, RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
private static RecordInfo parseRecord(final Properties properties) throws Exception { long id = parseLong("id", properties); byte userRecordType = parseByte("userRecordType", properties); boolean isUpdate = parseBoolean("isUpdate", properties); byte[] data = parseEncoding("data", properties); return new RecordInfo(id, userRecordType, data, isUpdate, (short) 0); }
jmsJournal.load(data, list, null); byte rec = record.getUserRecordType();
/** * 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(); }
byte[] data = outputBuffer.buffer(); RecordInfo record = new RecordInfo(getId(uid, typeName), RECORD_TYPE, data, false, (short)0); previousRecord = getContentForType(typeName).putIfAbsent(uid, record); journal.appendUpdateRecord(previousRecord.id, RECORD_TYPE, data, syncWrites); } else { journal.appendAddRecord(record.id, RECORD_TYPE, data, syncWrites);
@Override public void onReadAddRecordTX(long transactionID, RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
private synchronized void addTxRecord(JDBCJournalRecord record) throws Exception { if (logger.isTraceEnabled()) { logger.trace("addTxRecord " + record + ", started=" + started + ", failed=" + failed); } checkStatus(); TransactionHolder txHolder = transactions.get(record.getTxId()); if (txHolder == null) { txHolder = new TransactionHolder(record.getTxId()); transactions.put(record.getTxId(), txHolder); } // We actually only need the record ID in this instance. if (record.isTransactional()) { RecordInfo info = new RecordInfo(record.getId(), record.getRecordType(), new byte[0], record.isUpdate(), record.getCompactCount()); if (record.getRecordType() == JDBCJournalRecord.DELETE_RECORD_TX) { txHolder.recordsToDelete.add(info); } else { txHolder.recordInfos.add(info); } } else { txHolder.prepared = true; } }
List<PreparedTransactionInfo> preparedTransactions = new LinkedList<>(); if (info.getUserRecordType() == JournalRecordIds.ADD_MESSAGE) { messageCount++; } else if (info.getUserRecordType() == JournalRecordIds.ADD_REF) { ReferenceDescribe ref = (ReferenceDescribe) o; Integer count = messageRefCounts.get(ref.refEncoding.queueID); } else if (info.getUserRecordType() == JournalRecordIds.ACKNOWLEDGE_REF) { AckDescribe ref = (AckDescribe) o; Integer count = messageRefCounts.get(ref.refEncoding.queueID); } else if (info.getUserRecordType() == JournalRecordIds.PAGE_CURSOR_COUNTER_VALUE) { PageCountRecord encoding = (PageCountRecord) o; queueIDForCounter = encoding.getQueueID(); } else if (info.getUserRecordType() == JournalRecordIds.PAGE_CURSOR_COUNTER_INC) { PageCountRecordInc encoding = (PageCountRecordInc) o; queueIDForCounter = encoding.getQueueID(); Object o = newObjectEncoding(info); out.println("- " + describeRecord(info, o, safe)); if (info.getUserRecordType() == 31) { preparedMessageCount++; } else if (info.getUserRecordType() == 32) { ReferenceDescribe ref = (ReferenceDescribe) o; Integer count = preparedMessageRefCount.get(ref.refEncoding.queueID);
byte[] data = outputBuffer.buffer(); RecordInfo record = new RecordInfo(getId(uid, typeName), RECORD_TYPE, data, false, (short)0); previousRecord = getContentForType(typeName).putIfAbsent(uid, record); journal.appendUpdateRecord(previousRecord.id, RECORD_TYPE, data, syncWrites); } else { journal.appendAddRecord(record.id, RECORD_TYPE, data, syncWrites);
@Override public void onReadAddRecord(RecordInfo recordInfo) throws Exception { getType(recordInfo.getUserRecordType()).incrementAndGet(); }
RecordInfo toRecordInfo() throws IOException { return new RecordInfo(getId(), getUserRecordType(), getRecordData(), isUpdate(), getCompactCount()); }
messageJournal.start(); messageJournal.load(records, preparedTransactions, transactionFailureCallback, false); 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) { messageJournal.stop();
byte[] data = outputBuffer.buffer(); RecordInfo record = new RecordInfo(getId(uid, typeName), RECORD_TYPE, data, false, (short)0); previousRecord = getContentForType(typeName).putIfAbsent(uid, record); journal.appendUpdateRecord(previousRecord.id, RECORD_TYPE, data, syncWrites); } else { journal.appendAddRecord(record.id, RECORD_TYPE, data, syncWrites);
@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())); } }