public abstract class AbstractJournal extends Object implements Journal
| Constructor and Description |
|---|
AbstractJournal() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
append(AppendRecord record,
InputStream in,
int length)
Append a record backed by a file.
|
protected void |
appending(AppendRecord record)
Notification method called by an appended record at creation time.
|
protected RecordProducer |
createProducer(String identifier)
Create the record producer for a given identifier.
|
protected abstract void |
doLock()
Lock the journal revision.
|
protected void |
doSync(long startRevision)
Synchronize contents from journal.
|
protected void |
doSync(long startRevision,
boolean startup) |
protected abstract void |
doUnlock(boolean successful)
Unlock the journal revision.
|
RecordConsumer |
getConsumer(String identifier)
Return the consumer given its identifier.
|
String |
getId()
Return this journal's identifier.
|
NamePathResolver |
getNamePathResolver()
Return this journal's NamePathResolver.
|
RecordProducer |
getProducer(String identifier)
Return the record producer for a given identifier.
|
File |
getRepositoryHome()
Return the repository home.
|
NamespaceResolver |
getResolver()
Return this journal's namespace resolver.
|
String |
getRevision() |
void |
init(String id,
NamespaceResolver resolver)
Initialize journal.
|
void |
lockAndSync()
Lock the journal revision, disallowing changes from other sources until
unlock(boolean) has been called, and synchronizes to the latest change. |
void |
register(RecordConsumer consumer)
Register a record consumer.
|
void |
setInternalVersionManager(InternalVersionManagerImpl internalVersionManager)
Set the version manager.
|
void |
setRepositoryHome(File repHome)
Set the repository home.
|
void |
setRevision(String revision) |
void |
sync(boolean startup)
Synchronize contents from journal.
|
protected boolean |
syncAgainOnNewRecords()
Return a flag indicating whether synchronization should continue
in a loop until no more new records are found.
|
void |
unlock(boolean successful)
Unlock the journal revision.
|
boolean |
unregister(RecordConsumer consumer)
Unregister a record processor.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, getInstanceRevision, getRecords, getRecordspublic void init(String id, NamespaceResolver resolver) throws JournalException
init in interface Journalid - id this journal should use to write its own recordsresolver - resolver used when reading/writing recordsJournalException - if an error occurspublic void register(RecordConsumer consumer) throws JournalException
register in interface Journalconsumer - record consumerJournalException - if an error occurspublic boolean unregister(RecordConsumer consumer)
unregister in interface Journalconsumer - record processor to unregistertrue if the consumer was previously registered;
false otherwisepublic RecordConsumer getConsumer(String identifier)
identifier - identifiernull if no consumer is associated with identifierpublic RecordProducer getProducer(String identifier)
getProducer in interface Journalidentifier - identifierprotected RecordProducer createProducer(String identifier)
identifier - producer identifierpublic void sync(boolean startup)
throws JournalException
RecordConsumer.consume(org.apache.jackrabbit.core.journal.Record) method when their identifier
matches the one found in the records.
The startup flag allow for a separate treatment of the initial sync
when the cluster nodes starts up. This might be needed for example
when there are a lot of old revisions in a database.sync in interface Journalstartup - indicates if the cluster node is syncing on startup
or does a normal sync.JournalException - if an error occursprotected void doSync(long startRevision,
boolean startup)
throws JournalException
JournalExceptionprotected void doSync(long startRevision)
throws JournalException
startRevision - start point (exclusive)JournalException - if an error occursprotected boolean syncAgainOnNewRecords()
true if synchronization should continue;
false otherwisepublic void lockAndSync()
throws JournalException
unlock(boolean) has been called, and synchronizes to the latest change.JournalException - if an error occurspublic void unlock(boolean successful)
successful - flag indicating whether the update process was
successfulprotected abstract void doLock()
throws JournalException
JournalException - if an error occursprotected void appending(AppendRecord record)
record - record that was appendedprotected abstract void append(AppendRecord record, InputStream in, int length) throws JournalException
record - record to appendin - input streamlength - number of bytes in input streamJournalException - if an error occursprotected abstract void doUnlock(boolean successful)
successful - flag indicating whether the update process was
successfulpublic String getId()
public NamespaceResolver getResolver()
public NamePathResolver getNamePathResolver()
public void setRepositoryHome(File repHome)
repHome - repository homepublic void setInternalVersionManager(InternalVersionManagerImpl internalVersionManager)
public File getRepositoryHome()
public String getRevision()
public void setRevision(String revision)
revision - the path of the cluster node's local revision file to setCopyright © 2004–2024 The Apache Software Foundation. All rights reserved.