Class AbstractJournalUpdateTask
- java.lang.Object
-
- org.apache.activemq.artemis.core.journal.impl.AbstractJournalUpdateTask
-
- All Implemented Interfaces:
JournalReaderCallback
- Direct Known Subclasses:
JournalCompactor
public abstract class AbstractJournalUpdateTask extends Object implements JournalReaderCallback
Super class for Journal maintenances such as clean up and Compactor
-
-
Field Summary
Fields Modifier and Type Field Description protected JournalFilecurrentFilestatic StringFILE_COMPACT_CONTROLprotected SequentialFileFactoryfileFactoryprotected JournalFilesRepositoryfilesRepositoryprotected JournalImpljournalprotected List<JournalFile>newDataFilesprotected longnextOrderingIDprotected SequentialFilesequentialFile
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractJournalUpdateTask(SequentialFileFactory fileFactory, JournalImpl journal, JournalFilesRepository filesRepository, ConcurrentLongHashSet recordsSnapshot, long nextOrderingID)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddToRecordsSnaptshot(long id)booleancontainsRecord(long id)voidflush()Write pending output into fileprotected ActiveMQBuffergetWritingChannel()protected voidopenFile()static SequentialFilereadControlFile(SequentialFileFactory fileFactory, List<String> dataFiles, List<String> newFiles, List<Pair<String,String>> renameFile)static SequentialFilewriteControlFile(SequentialFileFactory fileFactory, List<JournalFile> files, List<JournalFile> newFiles, List<Pair<String,String>> renames)protected voidwriteEncoder(JournalInternalRecord record)protected voidwriteEncoder(JournalInternalRecord record, int txcounter)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.artemis.core.journal.impl.JournalReaderCallback
done, markAsDataFile, onReadAddRecord, onReadAddRecordTX, onReadCommitRecord, onReadDeleteRecord, onReadDeleteRecordTX, onReadEventRecord, onReadPrepareRecord, onReadRollbackRecord, onReadUpdateRecord, onReadUpdateRecordTX
-
-
-
-
Field Detail
-
FILE_COMPACT_CONTROL
public static final String FILE_COMPACT_CONTROL
- See Also:
- Constant Field Values
-
journal
protected final JournalImpl journal
-
fileFactory
protected final SequentialFileFactory fileFactory
-
currentFile
protected JournalFile currentFile
-
sequentialFile
protected SequentialFile sequentialFile
-
filesRepository
protected final JournalFilesRepository filesRepository
-
nextOrderingID
protected long nextOrderingID
-
newDataFiles
protected final List<JournalFile> newDataFiles
-
-
Constructor Detail
-
AbstractJournalUpdateTask
protected AbstractJournalUpdateTask(SequentialFileFactory fileFactory, JournalImpl journal, JournalFilesRepository filesRepository, ConcurrentLongHashSet recordsSnapshot, long nextOrderingID)
-
-
Method Detail
-
writeControlFile
public static SequentialFile writeControlFile(SequentialFileFactory fileFactory, List<JournalFile> files, List<JournalFile> newFiles, List<Pair<String,String>> renames) throws Exception
- Throws:
Exception
-
readControlFile
public static SequentialFile readControlFile(SequentialFileFactory fileFactory, List<String> dataFiles, List<String> newFiles, List<Pair<String,String>> renameFile) throws Exception
- Throws:
Exception
-
containsRecord
public boolean containsRecord(long id)
-
addToRecordsSnaptshot
protected void addToRecordsSnaptshot(long id)
-
getWritingChannel
protected ActiveMQBuffer getWritingChannel()
- Returns:
- the writingChannel
-
writeEncoder
protected void writeEncoder(JournalInternalRecord record) throws Exception
- Throws:
Exception
-
writeEncoder
protected void writeEncoder(JournalInternalRecord record, int txcounter) throws Exception
- Throws:
Exception
-
-