org.apache.lucene.store
Class LockFactory

java.lang.Object
  extended by org.apache.lucene.store.LockFactory
Direct Known Subclasses:
FSLockFactory, MockLockFactoryWrapper, 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
protected  String lockPrefix
           
 
Constructor Summary
LockFactory()
           
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lockPrefix

protected String lockPrefix
Constructor Detail

LockFactory

public LockFactory()
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