package org.prevayler.implementation.journal;
import org.prevayler.foundation.monitor.Monitor;
public class PersistentJournal {
private Monitor _monitor;
/**
* @param directory
* @param journalSizeThresholdInBytesSize of the current journal file beyond which it is closed and
* a new one started. Zero indicates no size threshold. This is
* useful journal backup purposes.
* @param journalAgeThresholdInMillisAge of the current journal file beyond which it is closed and
* a new one started. Zero indicates no age threshold. This is
* useful journal backup purposes.
*/
PersistentJournal( PrevaylerDirectory directory, long journalSizeThresholdInBytes, long journalAgeThresholdInMillis, String journalSuffix, Monitor monitor) throws IOException {
this(directory,journalSizeThresholdInBytes,journalAgeThresholdInMillis,journalSuffix);
_monitor=monitor;
}
protected DurableInputStream hook76( File journal, DurableInputStream input) throws IOException {
if (true) input=new DurableInputStream(journal,_monitor);
else input=new DurableInputStream(journal);
return original(journal,input);
}
protected void hook77( File journal, DurableInputStream input) throws IOException {
if (true) input=new DurableInputStream(journal,_monitor);
else input=new DurableInputStream(journal);
original(journal,input);
}
protected void hook78( IOException iox, File journal, String message){
_monitor.notify(this.getClass(),message,journal,iox);
original(iox,journal,message);
}
}