【发布时间】:2016-10-17 07:04:59
【问题描述】:
如果我第一次运行这个休眠搜索程序,它可以正常工作,而如果我第二次编译它会产生错误:
ERROR: HSEARCH000058: Exception occurred org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@D:\data\index\com.srccodes.example.hibernate.Contact\write.lock
Primary Failure:
Entity com.srccodes.example.hibernate.Contact Id null Work Type org.hibernate.search.backend.PurgeAllLuceneWork
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@D:\data\index\com.srccodes.example.hibernate.Contact\write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1108)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.createNewIndexWriter(IndexWriterHolder.java:127)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.getIndexWriter(IndexWriterHolder.java:102)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriter(AbstractWorkspaceImpl.java:119)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.applyUpdates(LuceneBackendQueueTask.java:99)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.run(LuceneBackendQueueTask.java:67)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
【问题讨论】:
-
LockObtainFailedException updating Lucene search index using solr 的可能重复项 - 我怀疑您在尝试打开第二个句柄之前忘记关闭第一个句柄。
标签: java hibernate hibernate-search