7.2.6. LockFactory 配置


Lucene Directory 可通过 LockingFactory(通过 Hibernate Search 管理的每个索引的 LockingFactory )进行配置。

有些锁定策略需要文件系统级别锁定,并可用于基于 RAM 的索引。在使用此策略时,必须指定 IndexBase 配置选项以指向存储锁定标记文件的文件系统位置。

要选择一个锁定工厂,将 hibernate.search.<index>.locking_strategy 选项设置为以下选项:

  • simple
  • native
  • none
Expand
表 7.6. 可用 LockFactory 实施列表
名称class描述

LockFactory 配置 简单

org.apache.lucene.store.SimpleFSLockFactory

基于 Java 文件 API 的安全实施,它通过创建标志文件来标记索引的使用。

如果出于某种原因您必须终止应用程序,则需要先删除此文件,然后才能将其重新启动。

native

org.apache.lucene.store.NativeFSLockFactory

就像 简单 一样,这也通过创建标志文件来标记索引的使用,但是,这个文件使用原生操作系统文件锁定,因此即使 JVM 被终止,也会清理锁。

这种实施在 NFS 上存在已知问题,避免在网络共享中产生问题。

原生文件系统、文件系统 主机和文件系统从 目录 提供程序的默认实施。

org.apache.lucene.store.SingleInstanceLockFactory

此 LockFactory 不使用文件标记,而是内存中保留的 Java 对象锁定;因此,只有在您确定索引不会由任何其他进程共享时,才可以使用它。

这是 ram 目录提供程序的默认实施。

none

org.apache.lucene.store.NoLockFactory

对此索引的更改不会通过锁定协调。

以下是锁定策略配置示例:

hibernate.search.default.locking_strategy = simple
hibernate.search.Animals.locking_strategy = native
hibernate.search.Books.locking_strategy = org.custom.components.MyLockingFactory
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat