Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
23.2.7. LockFactory 設定
Lucene ディレクトリーは、Hibernate Search によって管理される各インデックスの
LockingFactory
を使用してカスタムロックストラテジーで設定できます。
一部のロックストラテジーには、ファイルシステムレベルのロックが必要で、RAM ベースのインデックスで使用できます。このストラテジーを使用する場合、
IndexBase
設定オプションは、ロックマーカーファイルを保存するファイルシステムの場所を参照するように指定する必要があります。
ロックファクトリーを選択するには、
hibernate.search.<index>.locking_strategy
オプションを 1 つのオプションを設定します。
simple
native
single
none
表23.7 利用可能な LockFactory 実装の一覧
name | クラス | 説明 |
---|---|---|
simple | org.apache.lucene.store.SimpleFSLockFactory |
Java の File API に基づく安全な実装では、マーカーファイルを作成してインデックスの使用をマークします。
何らかの理由でアプリケーションを強制終了する必要がある場合には、このファイルを削除してから再起動する必要があります。
|
native | org.apache.lucene.store.NativeFSLockFactory | simple と同様に、マーカーファイルを作成してインデックスの使用をマークします。しかし、これはネイティブの OS ファイルロックを使用しているため、JVM が終了してもロックはクリーンアップされます。
この実装では、NFS で既知の問題があるため、ネットワーク共有で使用しないでください。
native は、filesystem 、filesystem-master 、filesystem-slave ディレクトリープロバイダーのデフォルトの実装です。
|
single | 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