public class MemoryMappedFileManager extends OutputStreamManager
layout
count, LOGGER
Modifier | Constructor and Description |
---|---|
protected |
MemoryMappedFileManager(RandomAccessFile file,
String fileName,
OutputStream os,
boolean force,
long position,
int regionLength,
String advertiseURI,
Layout<? extends Serializable> layout) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
flush()
Flushes any buffers.
|
Map<String,String> |
getContentFormat()
Gets this FileManager's content format specified by:
|
static MemoryMappedFileManager |
getFileManager(String fileName,
boolean append,
boolean isForce,
int regionLength,
String advertiseURI,
Layout<? extends Serializable> layout)
Returns the MemoryMappedFileManager.
|
String |
getFileName()
Returns the name of the File being managed.
|
int |
getRegionLength()
Returns the length of the memory mapped region.
|
Boolean |
isEndOfBatch() |
boolean |
isImmediateFlush()
Returns
true if the content of the buffer should be forced to the storage device on every write,
false otherwise. |
static MappedByteBuffer |
mmap(FileChannel fileChannel,
String fileName,
long start,
int size) |
void |
setEndOfBatch(boolean isEndOfBatch) |
protected void |
write(byte[] bytes,
int offset,
int length)
Some output streams synchronize writes while others do not.
|
getManager, getOutputStream, isOpen, releaseSub, setOutputStream, write, writeFooter
getCount, getName, hasManager, release
protected MemoryMappedFileManager(RandomAccessFile file, String fileName, OutputStream os, boolean force, long position, int regionLength, String advertiseURI, Layout<? extends Serializable> layout) throws IOException
IOException
public static MemoryMappedFileManager getFileManager(String fileName, boolean append, boolean isForce, int regionLength, String advertiseURI, Layout<? extends Serializable> layout)
fileName
- The name of the file to manage.append
- true if the file should be appended to, false if it should be overwritten.isForce
- true if the contents should be flushed to disk on every writeregionLength
- The mapped region length.advertiseURI
- the URI to use when advertising the filelayout
- The layout.public Boolean isEndOfBatch()
public void setEndOfBatch(boolean isEndOfBatch)
protected void write(byte[] bytes, int offset, int length)
OutputStreamManager
write
in class OutputStreamManager
bytes
- The serialized Log event.offset
- The offset into the byte array.length
- The number of bytes to write.public void flush()
OutputStreamManager
flush
in class OutputStreamManager
public void close()
close
in class OutputStreamManager
public static MappedByteBuffer mmap(FileChannel fileChannel, String fileName, long start, int size) throws IOException
IOException
public String getFileName()
public int getRegionLength()
public boolean isImmediateFlush()
true
if the content of the buffer should be forced to the storage device on every write,
false
otherwise.public Map<String,String> getContentFormat()
Key: "fileURI" Value: provided "advertiseURI" param.
getContentFormat
in class AbstractManager
Copyright © 1999-2021 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.