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 and Description
    `LockUtil()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### LockUtil

          public LockUtil()

  - ### Method Detail

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

Copyright © 2021 The Apache Software Foundation