深入浅出 jackrabbit 十 redolog 和 recovery.docx
2009-09-17 00:00:00 来源:WEB开发网在前面的文章中,我们对jackrabbit做索引的流程有了较为深刻的认识,这个过程中包含了很多的特性,比如多线程作内存索引啊,文件系统的目录算法啊,文本提取的策略等等,在本文中,ahuaxuan将会继续描述jackrabbit在索引过程中的另一个特性。
Redolog是jackrabbit中保证数据一致性的又一个特色。
本文将会阐述以下几点内容:
1. Redolog的存储方式
2. Redolog和indexes还有deletable这两个文件之前的亲密关系
3. Redolog的恢复方式
Redolog的存储介质。
其实在前面的文章中,我们已经接触过它了,之前我们在执行Action的时候,总是会进入这个方法multiIndex#executeAndLog(Action a):
Java代码
private Action executeAndLog(Action a)
throws IOException {
a. execute(this);
/*从这个代码,我们可以看出,每执行一个Action,都会将这个action追加到redoLog中*/
redoLog.append(a);
// please note that flushing the redo log is only required on
// commit, but we also want to keep track of new indexes for sure.
// otherwise it might happen that unused index folders are orphaned
// after a crash.
if (a.getType() == Action.TYPE_COMMIT || a.getType() == Action.TYPE_ADD_INDEX) {
redoLog.flush();
// also flush indexing queue
indexingQueue.commit();
}
return a;
}
Tags:深入浅出 jackrabbit redolog
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接