我在集群的 Websphere 环境中使用 Lucene 4.3.1。双方应共享一个位于共享 NFS 卷上的索引。
我不断收到以下堆栈跟踪:
Lock obtain timed out: NativeFSLock@/<pathToIndex>/write.lock
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/<pathToIndex>/write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:667)
我使用以下代码获取目录:
directory = FSDirectory.open( indexPath );
我在 ejb 的方法中打开和关闭作者(在集群成员上):
public void removeWikiDocument( long oid ) {
IndexWriter writer = new IndexWriter( directory, config );
Term t = new Term( OID, Long.toString( oid ) );
writer.deleteDocuments( t );
writer.commit();
writer.close();
}
有谁知道我做错了什么,在这种情况下使用的正确方法是什么。