public class ReplicatedJournal extends Object implements org.apache.activemq.artemis.core.journal.Journal
JournalStorageManager to replicate journal calls.
This class wraps a ReplicationManager and the local Journal. Every call will be
relayed to both instances.
JournalStorageManager| Constructor and Description |
|---|
ReplicatedJournal(byte journalID,
org.apache.activemq.artemis.core.journal.Journal localJournal,
ReplicationManager replicationManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
appendAddRecord(long id,
byte recordType,
byte[] record,
boolean sync) |
void |
appendAddRecord(long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync) |
void |
appendAddRecord(long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion completionCallback) |
void |
appendAddRecordTransactional(long txID,
long id,
byte recordType,
byte[] record) |
void |
appendAddRecordTransactional(long txID,
long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record) |
void |
appendCommitRecord(long txID,
boolean sync) |
void |
appendCommitRecord(long txID,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback) |
void |
appendCommitRecord(long txID,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback,
boolean lineUpContext) |
void |
appendDeleteRecord(long id,
boolean sync) |
void |
appendDeleteRecord(long id,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion completionCallback) |
void |
appendDeleteRecordTransactional(long txID,
long id) |
void |
appendDeleteRecordTransactional(long txID,
long id,
byte[] record) |
void |
appendDeleteRecordTransactional(long txID,
long id,
org.apache.activemq.artemis.core.journal.EncodingSupport record) |
void |
appendPrepareRecord(long txID,
byte[] transactionData,
boolean sync) |
void |
appendPrepareRecord(long txID,
org.apache.activemq.artemis.core.journal.EncodingSupport transactionData,
boolean sync) |
void |
appendPrepareRecord(long txID,
org.apache.activemq.artemis.core.journal.EncodingSupport transactionData,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback) |
void |
appendRollbackRecord(long txID,
boolean sync) |
void |
appendRollbackRecord(long txID,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback) |
void |
appendUpdateRecord(long id,
byte recordType,
byte[] record,
boolean sync) |
void |
appendUpdateRecord(long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync) |
void |
appendUpdateRecord(long id,
byte journalRecordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion completionCallback) |
void |
appendUpdateRecordTransactional(long txID,
long id,
byte recordType,
byte[] record) |
void |
appendUpdateRecordTransactional(long txID,
long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record) |
Map<Long,org.apache.activemq.artemis.core.journal.impl.JournalFile> |
createFilesForBackupSync(long[] fileIds) |
void |
flush() |
void |
forceMoveNextFile() |
int |
getAlignment() |
org.apache.activemq.artemis.core.journal.impl.JournalFile[] |
getDataFiles() |
org.apache.activemq.artemis.core.io.SequentialFileFactory |
getFileFactory() |
int |
getFileSize() |
int |
getNumberOfRecords() |
int |
getUserVersion() |
boolean |
isStarted() |
void |
lineUpContext(org.apache.activemq.artemis.core.journal.IOCompletion callback) |
org.apache.activemq.artemis.core.journal.JournalLoadInformation |
load(List<org.apache.activemq.artemis.core.journal.RecordInfo> committedRecords,
List<org.apache.activemq.artemis.core.journal.PreparedTransactionInfo> preparedTransactions,
org.apache.activemq.artemis.core.journal.TransactionFailureCallback transactionFailure) |
org.apache.activemq.artemis.core.journal.JournalLoadInformation |
load(org.apache.activemq.artemis.core.journal.LoaderCallback reloadManager) |
org.apache.activemq.artemis.core.journal.JournalLoadInformation |
loadInternalOnly() |
org.apache.activemq.artemis.core.journal.JournalLoadInformation |
loadSyncOnly(org.apache.activemq.artemis.core.journal.Journal.JournalState state) |
void |
perfBlast(int pages) |
void |
replicationSyncFinished() |
void |
replicationSyncPreserveOldFiles() |
void |
runDirectJournalBlast() |
void |
scheduleCompactAndBlock(int timeout) |
void |
start() |
void |
stop() |
void |
synchronizationLock() |
void |
synchronizationUnlock() |
public ReplicatedJournal(byte journalID,
org.apache.activemq.artemis.core.journal.Journal localJournal,
ReplicationManager replicationManager)
public void flush()
throws Exception
flush in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendAddRecord(long id,
byte recordType,
byte[] record,
boolean sync)
throws Exception
appendAddRecord in interface org.apache.activemq.artemis.core.journal.Journalid - recordType - record - sync - ExceptionJournal.appendAddRecord(long, byte, byte[], boolean)public void appendAddRecord(long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync)
throws Exception
appendAddRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendAddRecord(long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
throws Exception
appendAddRecord in interface org.apache.activemq.artemis.core.journal.Journalid - recordType - record - sync - ExceptionJournal.appendAddRecord(long, byte, org.apache.activemq.artemis.core.journal.EncodingSupport, boolean)public void appendAddRecordTransactional(long txID,
long id,
byte recordType,
byte[] record)
throws Exception
appendAddRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - recordType - record - ExceptionJournal.appendAddRecordTransactional(long, long, byte, byte[])public void appendAddRecordTransactional(long txID,
long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record)
throws Exception
appendAddRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - recordType - record - ExceptionJournal.appendAddRecordTransactional(long, long, byte, org.apache.activemq.artemis.core.journal.EncodingSupport)public void appendCommitRecord(long txID,
boolean sync)
throws Exception
appendCommitRecord in interface org.apache.activemq.artemis.core.journal.JournaltxID - sync - ExceptionJournal.appendCommitRecord(long, boolean)public void appendCommitRecord(long txID,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback)
throws Exception
appendCommitRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendCommitRecord(long txID,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback,
boolean lineUpContext)
throws Exception
appendCommitRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendDeleteRecord(long id,
boolean sync)
throws Exception
appendDeleteRecord in interface org.apache.activemq.artemis.core.journal.Journalid - sync - ExceptionJournal.appendDeleteRecord(long, boolean)public void appendDeleteRecord(long id,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
throws Exception
appendDeleteRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendDeleteRecordTransactional(long txID,
long id,
byte[] record)
throws Exception
appendDeleteRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - record - ExceptionJournal.appendDeleteRecordTransactional(long, long, byte[])public void appendDeleteRecordTransactional(long txID,
long id,
org.apache.activemq.artemis.core.journal.EncodingSupport record)
throws Exception
appendDeleteRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - record - ExceptionJournal.appendDeleteRecordTransactional(long, long, org.apache.activemq.artemis.core.journal.EncodingSupport)public void appendDeleteRecordTransactional(long txID,
long id)
throws Exception
appendDeleteRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - ExceptionJournal.appendDeleteRecordTransactional(long, long)public void appendPrepareRecord(long txID,
byte[] transactionData,
boolean sync)
throws Exception
appendPrepareRecord in interface org.apache.activemq.artemis.core.journal.JournaltxID - transactionData - sync - ExceptionJournal.appendPrepareRecord(long, byte[], boolean)public void appendPrepareRecord(long txID,
org.apache.activemq.artemis.core.journal.EncodingSupport transactionData,
boolean sync)
throws Exception
appendPrepareRecord in interface org.apache.activemq.artemis.core.journal.JournaltxID - transactionData - sync - ExceptionJournal.appendPrepareRecord(long, org.apache.activemq.artemis.core.journal.EncodingSupport, boolean)public void appendPrepareRecord(long txID,
org.apache.activemq.artemis.core.journal.EncodingSupport transactionData,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback)
throws Exception
appendPrepareRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendRollbackRecord(long txID,
boolean sync)
throws Exception
appendRollbackRecord in interface org.apache.activemq.artemis.core.journal.JournaltxID - sync - ExceptionJournal.appendRollbackRecord(long, boolean)public void appendRollbackRecord(long txID,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion callback)
throws Exception
appendRollbackRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendUpdateRecord(long id,
byte recordType,
byte[] record,
boolean sync)
throws Exception
appendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journalid - recordType - record - sync - ExceptionJournal.appendUpdateRecord(long, byte, byte[], boolean)public void appendUpdateRecord(long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync)
throws Exception
appendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journalid - recordType - record - sync - ExceptionJournal.appendUpdateRecord(long, byte, org.apache.activemq.artemis.core.journal.EncodingSupport, boolean)public void appendUpdateRecord(long id,
byte journalRecordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record,
boolean sync,
org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
throws Exception
appendUpdateRecord in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void appendUpdateRecordTransactional(long txID,
long id,
byte recordType,
byte[] record)
throws Exception
appendUpdateRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - recordType - record - ExceptionJournal.appendUpdateRecordTransactional(long, long, byte, byte[])public void appendUpdateRecordTransactional(long txID,
long id,
byte recordType,
org.apache.activemq.artemis.core.journal.EncodingSupport record)
throws Exception
appendUpdateRecordTransactional in interface org.apache.activemq.artemis.core.journal.JournaltxID - id - recordType - record - ExceptionJournal.appendUpdateRecordTransactional(long, long, byte, org.apache.activemq.artemis.core.journal.EncodingSupport)public org.apache.activemq.artemis.core.journal.JournalLoadInformation load(List<org.apache.activemq.artemis.core.journal.RecordInfo> committedRecords, List<org.apache.activemq.artemis.core.journal.PreparedTransactionInfo> preparedTransactions, org.apache.activemq.artemis.core.journal.TransactionFailureCallback transactionFailure) throws Exception
load in interface org.apache.activemq.artemis.core.journal.JournalcommittedRecords - preparedTransactions - transactionFailure - ExceptionJournal.load(java.util.List, java.util.List, org.apache.activemq.artemis.core.journal.TransactionFailureCallback)public org.apache.activemq.artemis.core.journal.JournalLoadInformation load(org.apache.activemq.artemis.core.journal.LoaderCallback reloadManager)
throws Exception
load in interface org.apache.activemq.artemis.core.journal.JournalreloadManager - ExceptionJournal.load(org.apache.activemq.artemis.core.journal.LoaderCallback)public void perfBlast(int pages)
perfBlast in interface org.apache.activemq.artemis.core.journal.Journalpages - Journal.perfBlast(int)public void start()
throws Exception
start in interface org.apache.activemq.artemis.core.server.ActiveMQComponentExceptionActiveMQComponent.start()public void stop()
throws Exception
stop in interface org.apache.activemq.artemis.core.server.ActiveMQComponentExceptionActiveMQComponent.stop()public int getAlignment()
throws Exception
getAlignment in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic boolean isStarted()
isStarted in interface org.apache.activemq.artemis.core.server.ActiveMQComponentpublic org.apache.activemq.artemis.core.journal.JournalLoadInformation loadInternalOnly()
throws Exception
loadInternalOnly in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic int getNumberOfRecords()
getNumberOfRecords in interface org.apache.activemq.artemis.core.journal.Journalpublic void runDirectJournalBlast()
throws Exception
runDirectJournalBlast in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic int getUserVersion()
getUserVersion in interface org.apache.activemq.artemis.core.journal.Journalpublic void lineUpContext(org.apache.activemq.artemis.core.journal.IOCompletion callback)
lineUpContext in interface org.apache.activemq.artemis.core.journal.Journalpublic org.apache.activemq.artemis.core.journal.JournalLoadInformation loadSyncOnly(org.apache.activemq.artemis.core.journal.Journal.JournalState state)
throws Exception
loadSyncOnly in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic Map<Long,org.apache.activemq.artemis.core.journal.impl.JournalFile> createFilesForBackupSync(long[] fileIds) throws Exception
createFilesForBackupSync in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void synchronizationLock()
synchronizationLock in interface org.apache.activemq.artemis.core.journal.Journalpublic void synchronizationUnlock()
synchronizationUnlock in interface org.apache.activemq.artemis.core.journal.Journalpublic void forceMoveNextFile()
forceMoveNextFile in interface org.apache.activemq.artemis.core.journal.Journalpublic org.apache.activemq.artemis.core.journal.impl.JournalFile[] getDataFiles()
getDataFiles in interface org.apache.activemq.artemis.core.journal.Journalpublic org.apache.activemq.artemis.core.io.SequentialFileFactory getFileFactory()
getFileFactory in interface org.apache.activemq.artemis.core.journal.Journalpublic int getFileSize()
getFileSize in interface org.apache.activemq.artemis.core.journal.Journalpublic void scheduleCompactAndBlock(int timeout)
throws Exception
scheduleCompactAndBlock in interface org.apache.activemq.artemis.core.journal.JournalExceptionpublic void replicationSyncPreserveOldFiles()
replicationSyncPreserveOldFiles in interface org.apache.activemq.artemis.core.journal.Journalpublic void replicationSyncFinished()
replicationSyncFinished in interface org.apache.activemq.artemis.core.journal.JournalCopyright © 2023 The Apache Software Foundation. All rights reserved.