首页->FAQ->显示文章

Google
 

我用Lucene的程序崩溃,报错“Lock obtain timed out.”。这个锁在哪里,如何删除它?

译自:原文地址

使用FSDirectory时,锁文件由系统属性"org.apache.lucene.lockdir"指定路径,如果没有设置这个属性,那么锁位于系统属性"java.io.tmpdir"指定的路径下(在Unix下一般为“/var/tmp”,“/tmp”)。

如果有特殊原因造成"java.io.tmpdir"没有被设置的话,那么锁会生成在索引所在目录。

锁文件的名字由“lucene-”开头,后面是索引所在目录的MD5哈希值。

如果你能确定锁文件未在使用时,你可以手动删除它。如果你在编写恢复代码需要自动删除锁文件的话,你应该看下“IndexReader.isLocked”和“IndexReader.unlock”。

 

 

所属分类: [lucene] [Java]
tag: 并发, ,

tinyfool发布于2009年12月04日 15:12