Package org.apache.nutch.util

# Class LockUtil

java.lang.Object
org.apache.nutch.util.LockUtil

public class LockUtil extends Object
Utility methods for handling application-level locking.

Author:
  Andrzej Bialecki

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LockUtil()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `createLockFile(Configuration conf, Path lockFile, boolean accept)`
  Create a lock file.
  `static void`
  `createLockFile(FileSystem fs, Path lockFile, boolean accept)`
  Create a lock file.
  `static boolean`
  `removeLockFile(Configuration conf, Path lockFile)`
  Remove lock file.
  `static boolean`
  `removeLockFile(FileSystem fs, Path lockFile)`
  Remove lock file.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### LockUtil

    public LockUtil()

- ## Method Details

  - ### createLockFile

    public static void createLockFile(FileSystem fs, Path lockFile, boolean accept) throws IOException
    Create a lock file.
    Parameters:
      `fs` - filesystem
      `lockFile` - name of the lock file
      `accept` - if true, and the target file exists, consider it valid. If false and the target file exists, throw an IOException.
    Throws:
      `IOException` - if accept is false, and the target file already exists, or if it's a directory.

  - ### createLockFile

    public static void createLockFile(Configuration conf, Path lockFile, boolean accept) throws IOException
    Create a lock file.
    Parameters:
      `conf` - configuration to find the `FileSystem` lockFile belongs to
      `lockFile` - name of the lock file
      `accept` - if true, and the target file exists, consider it valid. If false and the target file exists, throw an IOException.
    Throws:
      `IOException` - if accept is false, and the target file already exists, or if it's a directory.

  - ### removeLockFile

    public static boolean removeLockFile(FileSystem fs, Path lockFile) throws IOException
    Remove lock file. NOTE: applications enforce the semantics of this file - this method simply removes any file with a given name.
    Parameters:
      `fs` - filesystem
      `lockFile` - lock file name
    Returns:
      false, if the lock file doesn't exist. True, if it existed and was successfully removed.
    Throws:
      `IOException` - if lock file exists but it is a directory.

  - ### removeLockFile

    public static boolean removeLockFile(Configuration conf, Path lockFile) throws IOException
    Remove lock file. NOTE: applications enforce the semantics of this file - this method simply removes any file with a given name.
    Parameters:
      `conf` - configuration to find the `FileSystem` lockFile belongs to
      `lockFile` - lock file name
    Returns:
      false, if the lock file doesn't exist. True, if it existed and was successfully removed.
    Throws:
      `IOException` - if lock file exists but it is a directory.