Class AbstractSequentialFileFactory
java.lang.Object
org.apache.activemq.artemis.core.io.AbstractSequentialFileFactory
- All Implemented Interfaces:
SequentialFileFactory
- Direct Known Subclasses:
AIOSequentialFileFactory,MappedSequentialFileFactory,NIOSequentialFileFactory
An abstract SequentialFileFactory containing basic functionality for both AIO and NIO SequentialFactories
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected final intprotected final longprotected IOCriticalErrorListenerprotected final org.apache.activemq.artemis.utils.critical.CriticalAnalyzerprotected booleanprotected static final intprotected final Fileprotected final intprotected final TimedBuffer -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSequentialFileFactory(File journalDir, boolean buffered, int bufferSize, int bufferTimeout, int maxIO, boolean logRates, IOCriticalErrorListener criticalErrorListener, org.apache.activemq.artemis.utils.critical.CriticalAnalyzer criticalAnalyzer) -
Method Summary
Modifier and TypeMethodDescriptionvoidactivateBuffer(SequentialFile file) voidCreate the directory if it doesn't exist yetvoidbooleanvoidflush()intlongorg.apache.activemq.artemis.utils.critical.CriticalAnalyzerintgetMaxIO()booleanLists files that end with the given extension.voidThe SequentialFile will call this method when a disk IO Error happens during the live phase.voidreleaseBuffer(ByteBuffer buffer) setAlignment(int alignment) voidsetDatasync(boolean enabled) voidstart()voidstop()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.activemq.artemis.core.io.SequentialFileFactory
allocateDirectBuffer, calculateBlockSize, clearBuffer, createSequentialFile, createSequentialFile, getDirectoryName, isSupportsCallbacks, isSyncSupported, newBuffer, newBuffer, onIOError, onIOError, releaseDirectBuffer, supportsIndividualContext, wrapBuffer
-
Field Details
-
EXECUTOR_TIMEOUT
protected static final int EXECUTOR_TIMEOUT- See Also:
-
journalDir
-
timedBuffer
-
bufferSize
protected final int bufferSize -
bufferTimeout
protected final long bufferTimeout -
maxIO
protected final int maxIO -
dataSync
protected boolean dataSync -
alignment
protected volatile int alignment -
critialErrorListener
-
criticalAnalyzer
protected final org.apache.activemq.artemis.utils.critical.CriticalAnalyzer criticalAnalyzer
-
-
Constructor Details
-
AbstractSequentialFileFactory
protected AbstractSequentialFileFactory(File journalDir, boolean buffered, int bufferSize, int bufferTimeout, int maxIO, boolean logRates, IOCriticalErrorListener criticalErrorListener, org.apache.activemq.artemis.utils.critical.CriticalAnalyzer criticalAnalyzer)
-
-
Method Details
-
getCriticalErrorListener
- Specified by:
getCriticalErrorListenerin interfaceSequentialFileFactory
-
setCriticalErrorListener
- Specified by:
setCriticalErrorListenerin interfaceSequentialFileFactory
-
getCriticalAnalyzer
public org.apache.activemq.artemis.utils.critical.CriticalAnalyzer getCriticalAnalyzer()- Specified by:
getCriticalAnalyzerin interfaceSequentialFileFactory
-
getBufferSize
public long getBufferSize()- Specified by:
getBufferSizein interfaceSequentialFileFactory
-
getAlignment
public int getAlignment()- Specified by:
getAlignmentin interfaceSequentialFileFactory
-
setAlignment
- Specified by:
setAlignmentin interfaceSequentialFileFactory
-
setDatasync
- Specified by:
setDatasyncin interfaceSequentialFileFactory
-
isDatasync
public boolean isDatasync()- Specified by:
isDatasyncin interfaceSequentialFileFactory
-
stop
public void stop()- Specified by:
stopin interfaceSequentialFileFactory
-
getDirectory
- Specified by:
getDirectoryin interfaceSequentialFileFactory
-
start
public void start()- Specified by:
startin interfaceSequentialFileFactory
-
getMaxIO
public int getMaxIO()- Specified by:
getMaxIOin interfaceSequentialFileFactory
-
onIOError
Description copied from interface:SequentialFileFactoryThe SequentialFile will call this method when a disk IO Error happens during the live phase.- Specified by:
onIOErrorin interfaceSequentialFileFactory
-
activateBuffer
- Specified by:
activateBufferin interfaceSequentialFileFactory
-
flush
public void flush()- Specified by:
flushin interfaceSequentialFileFactory
-
deactivateBuffer
public void deactivateBuffer()- Specified by:
deactivateBufferin interfaceSequentialFileFactory
-
releaseBuffer
- Specified by:
releaseBufferin interfaceSequentialFileFactory
-
createDirs
Create the directory if it doesn't exist yet- Specified by:
createDirsin interfaceSequentialFileFactory- Throws:
Exception
-
listFiles
Description copied from interface:SequentialFileFactoryLists files that end with the given extension.This method inserts a ".' before the extension.
- Specified by:
listFilesin interfaceSequentialFileFactory- Throws:
Exception
-
deleteFolder
public boolean deleteFolder()- Specified by:
deleteFolderin interfaceSequentialFileFactory
-