Package org.postgresql.jdbc

# Class ResourceLock

java.lang.Object
java.util.concurrent.locks.ReentrantLock
org.postgresql.jdbc.ResourceLock

All Implemented Interfaces:
  `Serializable`, `AutoCloseable`, `Lock`

public final class ResourceLock extends ReentrantLock implements AutoCloseable
Extends a ReentrantLock for use in try-with-resources block.

## Example use

       try (ResourceLock ignore = lock.obtain()) {
         // do something while holding the resource lock
       }

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ResourceLock()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Unlock on exit of try-with-resources block.
  `ResourceLock`
  `obtain()`
  Obtain a lock and return the ResourceLock for use in try-with-resources block.

  ### Methods inherited from class java.util.concurrent.locks.ReentrantLock

  `getHoldCount, getOwner, getQueuedThreads, getQueueLength, getWaitingThreads, getWaitQueueLength, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isHeldByCurrentThread, isLocked, lock, lockInterruptibly, newCondition, toString, tryLock, tryLock, unlock`

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

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

- ## Constructor Details

  - ### ResourceLock

    public ResourceLock()

- ## Method Details

  - ### obtain

    public ResourceLock obtain()
    Obtain a lock and return the ResourceLock for use in try-with-resources block.

  - ### close

    public void close()
    Unlock on exit of try-with-resources block.
    Specified by:
      `close` in interface `AutoCloseable`