|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.activemq.journal.howl.HowlJournal
An implementation of the Journal interface using a HOWL logger. This is is a thin wrapper around a HOWL logger. This implementation can be used to write records but not to retreive them yet. Once the HOWL logger implements the methods needed to retreive previously stored records, this class can be completed.
Constructor Summary | |
HowlJournal(org.objectweb.howl.log.Configuration configuration)
|
Method Summary | |
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. |
byte[] |
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(byte[] data,
boolean sync)
Writes a byte array record to the journal. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public HowlJournal(org.objectweb.howl.log.Configuration configuration) throws org.objectweb.howl.log.InvalidFileSetException, org.objectweb.howl.log.LogConfigurationException, org.objectweb.howl.log.InvalidLogBufferException, ClassNotFoundException, IOException, InterruptedException
Method Detail |
public RecordLocation write(byte[] data, boolean sync) throws IOException
Journal
record
to the journal. If sync
is true, then this call blocks until the data has landed on the physical
disk. Otherwise, this call returns imeadiatly.
write
in interface Journal
data
- - the data to be written to disk.sync
- - If this call should block until the data lands on disk.
IOException
- if the write failed.Journal.write(byte[], boolean)
public void setMark(RecordLocation recordLocator, boolean force) throws InvalidRecordLocationException, IOException
Journal
location
is no longer
needed and can be reclaimed for reuse.
setMark
in interface Journal
recordLocator
- 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.Journal.setMark(org.codehaus.activemq.journal.RecordLocation, boolean)
public RecordLocation getMark()
Journal
getMark
in interface Journal
Journal.getMark()
public void close() throws IOException
Journal
close
in interface Journal
IOException
- if an error occurs while the journal is being closed.Journal.close()
public void setJournalEventListener(JournalEventListener eventListener)
Journal
JournalEventListener
that will receive notifications from the Journal.
setJournalEventListener
in interface Journal
eventListener
- object that will receive journal events.Journal.setJournalEventListener(org.codehaus.activemq.journal.JournalEventListener)
public RecordLocation getNextRecordLocation(RecordLocation lastLocation) throws InvalidRecordLocationException
Journal
location
that
is in the journal.
getNextRecordLocation
in interface Journal
lastLocation
- 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.Journal.getNextRecordLocation(org.codehaus.activemq.journal.RecordLocation)
public byte[] read(RecordLocation location) throws InvalidRecordLocationException, IOException
Journal
read
in interface Journal
location
- is where to read the record from.
location
.
IOException
- if the record could not be read.
InvalidRecordLocationException
- if location
parameter is out of range.
It cannot be a location that is before the current mark.Journal.read(org.codehaus.activemq.journal.RecordLocation)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |