Package org.apache.lucene.store
Class LockFactory
- java.lang.Object
-
- org.apache.lucene.store.LockFactory
-
- Direct Known Subclasses:
FSLockFactory
,NoLockFactory
,SingleInstanceLockFactory
,VerifyingLockFactory
public abstract class LockFactory extends Object
Base class for Locking implementation.
Directory
uses instances of this class to implement locking.Note that there are some useful tools to verify that your LockFactory is working correctly:
VerifyingLockFactory
,LockStressTest
,LockVerifyServer
.- See Also:
LockVerifyServer
,LockStressTest
,VerifyingLockFactory
-
-
Field Summary
Fields Modifier and Type Field Description protected String
lockPrefix
-
Constructor Summary
Constructors Constructor Description LockFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
clearLock(String lockName)
Attempt to clear (forcefully unlock and remove) the specified lock.String
getLockPrefix()
Get the prefix in use for all locks created in this LockFactory.abstract Lock
makeLock(String lockName)
Return a new Lock instance identified by lockName.void
setLockPrefix(String lockPrefix)
Set the prefix in use for all locks created in this LockFactory.
-
-
-
Field Detail
-
lockPrefix
protected String lockPrefix
-
-
Method Detail
-
setLockPrefix
public void setLockPrefix(String lockPrefix)
Set the prefix in use for all locks created in this LockFactory. This is normally called once, when a Directory gets this LockFactory instance. However, you can also call this (after this instance is assigned to a Directory) to override the prefix in use. This is helpful if you're running Lucene on machines that have different mount points for the same shared directory.
-
getLockPrefix
public String getLockPrefix()
Get the prefix in use for all locks created in this LockFactory.
-
makeLock
public abstract Lock makeLock(String lockName)
Return a new Lock instance identified by lockName.- Parameters:
lockName
- name of the lock to be created.
-
clearLock
public abstract void clearLock(String lockName) throws IOException
Attempt to clear (forcefully unlock and remove) the specified lock. Only call this at a time when you are certain this lock is no longer in use.- Parameters:
lockName
- name of the lock to be cleared.- Throws:
IOException
-
-