【问题标题】:How to handle Hibernate-Search index recovery?如何处理 Hibernate-Search 索引恢复?
【发布时间】:2012-03-19 13:32:06
【问题描述】:

当应用服务器意外退出时,Hibernate Search 无法正常关闭 Lucene。在每个索引目录中留下 write.lock 文件。这当然是很正常的。但是 - 重新启动应用程序后,锁定文件也会保留。这有时会导致锁定超时异常。

我的问题是是否有通常的方法来处理恢复。

首先想到的是检查 write.lock 文件是否存在。如果找到,则将其删除并重建所有索引。但也许 Hibernate-Search 在正确配置时会自动执行此操作?

【问题讨论】:

  • 之前没有人需要处理 write.lock 文件?

标签: lucene hibernate-search


【解决方案1】:

如果 Hibernate Search 在启动时删除锁定文件,如果您错误地将两个应用程序配置为在同一个索引上运行,则可能会破坏您的索引。因此不删除锁定文件是锁定的目的。

不过,我们意识到这很烦人:如果您可以使用 Native LockFactory (http://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/#search-configuration-directory-lockfactories) 即使是崩溃/终止的 JVM 也会释放锁定文件。

如果您升级到最新版本,如果检测到的平台被认为足够安全,则默认使用 Native。

【讨论】:

    猜你喜欢
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2014-12-29
    相关资源
    最近更新 更多