public class HowlJournal extends Object implements Journal
| Constructor and Description |
|---|
HowlJournal(Configuration configuration) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the Journal.
|
RecordLocation |
getMark()
Obtains the mark that was set in the Journal.
|
RecordLocation |
getNextRecordLocation(RecordLocation lastLocation)
Allows you to get the next RecordLocation after the
location that
is in the journal. |
Packet |
read(RecordLocation location)
Reads a previously written record from the journal.
|
void |
setJournalEventListener(JournalEventListener eventListener)
Registers a
JournalEventListener that will receive notifications from the Journal. |
void |
setMark(RecordLocation recordLocator,
boolean force)
Informs the journal that all the journal space up to the
location is no longer
needed and can be reclaimed for reuse. |
RecordLocation |
write(Packet packet,
boolean sync)
Writes a
Packet of data to the journal. |
public HowlJournal(Configuration configuration)
throws InvalidFileSetException,
LogConfigurationException,
InvalidLogBufferException,
ClassNotFoundException,
IOException,
InterruptedException
InvalidFileSetExceptionLogConfigurationExceptionInvalidLogBufferExceptionClassNotFoundExceptionIOExceptionInterruptedExceptionpublic RecordLocation write(Packet packet, boolean sync) throws IOException
JournalPacket of data to the journal. If sync
is true, then this call blocks until the data has landed on the physical
disk. Otherwise, this enqueues the write request and returns.write in interface Journalsync - - If this call should block until the data lands on disk.IOException - if the write failed.org.apache.activeio.journal.Journal#write(byte[], boolean)public void setMark(RecordLocation recordLocator, boolean force) throws InvalidRecordLocationException, IOException
Journallocation is no longer
needed and can be reclaimed for reuse.setMark in interface JournalrecordLocator - the location of the record to mark. All record locations before the marked
location will no longger be vaild.force - if this call should block until the mark is set on the journal.InvalidRecordLocationException - if location parameter is out of range.
It cannot be a location that is before the current mark.IOException - if the record could not be read.org.apache.activeio.journal.Journal#setMark(org.codehaus.activemq.journal.RecordLocation, boolean)public RecordLocation getMark()
JournalgetMark in interface JournalJournal.getMark()public void close()
throws IOException
Journalclose in interface JournalIOException - if an error occurs while the journal is being closed.Journal.close()public void setJournalEventListener(JournalEventListener eventListener)
JournalJournalEventListener that will receive notifications from the Journal.setJournalEventListener in interface JournaleventListener - object that will receive journal events.org.apache.activeio.journal.Journal#setJournalEventListener(org.codehaus.activemq.journal.JournalEventListener)public RecordLocation getNextRecordLocation(RecordLocation lastLocation) throws InvalidRecordLocationException
Journallocation that
is in the journal.getNextRecordLocation in interface JournallastLocation - the reference location the is used to find the next location.
To get the oldest location available in the journal, location
should be set to null.InvalidRecordLocationException - if location parameter is out of range.
It cannot be a location that is before the current mark.org.apache.activeio.journal.Journal#getNextRecordLocation(org.codehaus.activemq.journal.RecordLocation)public Packet read(RecordLocation location) throws InvalidRecordLocationException, IOException
Journalread in interface Journallocation - is where to read the record from.location.InvalidRecordLocationException - if location parameter is out of range.
It cannot be a location that is before the current mark.IOException - if the record could not be read.org.apache.activeio.journal.Journal#read(org.codehaus.activemq.journal.RecordLocation)Copyright © 2005–2019. All rights reserved.