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 and Description
    --- | ---
    `protected String` | `lockPrefix`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LockFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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.

    - ### 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`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.