7.2.6. LockFactory 配置
Lucene Directory 可通过 LockingFactory(通过 Hibernate Search 管理的每个索引的 LockingFactory
)进行配置。
有些锁定策略需要文件系统级别锁定,并可用于基于 RAM 的索引。在使用此策略时,必须指定 IndexBase
配置选项以指向存储锁定标记文件的文件系统位置。
要选择一个锁定工厂,将 hibernate.search.<index>.locking_strategy
选项设置为以下选项:
- simple
- native
- 单
- none
名称 | class | 描述 |
---|---|---|
LockFactory 配置 | org.apache.lucene.store.SimpleFSLockFactory | 基于 Java 文件 API 的安全实施,它通过创建标志文件来标记索引的使用。 如果出于某种原因您必须终止应用程序,则需要先删除此文件,然后才能将其重新启动。 |
| org.apache.lucene.store.NativeFSLockFactory |
就像 这种实施在 NFS 上存在已知问题,避免在网络共享中产生问题。
|
| org.apache.lucene.store.SingleInstanceLockFactory | 此 LockFactory 不使用文件标记,而是内存中保留的 Java 对象锁定;因此,只有在您确定索引不会由任何其他进程共享时,才可以使用它。
这是 |
| 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
hibernate.search.default.locking_strategy = simple
hibernate.search.Animals.locking_strategy = native
hibernate.search.Books.locking_strategy = org.custom.components.MyLockingFactory