Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.quartz.impl.jdbcjobstore
Class SimpleSemaphore

    java.lang.Object
      org.quartz.impl.jdbcjobstore.SimpleSemaphore

All Implemented Interfaces:
  Semaphore

    public class SimpleSemaphore

extends Object
implements Semaphore

Internal in-memory lock handler for providing thread/resource locking in order to protect resources from being altered by multiple threads at the same time.

Author:
  jhouse

Constructor Summary
`SimpleSemaphore()`

Method Summary
`protected org.slf4j.Logger` | `getLog()`
`boolean` | `isLockOwner(Connection conn, String lockName)` Determine whether the calling thread owns a lock on the identified resource.
`boolean` | `obtainLock(Connection conn, String lockName)` Grants a lock on the identified resource to the calling thread (blocking until it is available).
`void` | `releaseLock(Connection conn, String lockName)` Release the lock on the identified resource if it is held by the calling thread.
`boolean` | `requiresConnection()` This Semaphore implementation does not use the database.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SimpleSemaphore

    public SimpleSemaphore()

Method Detail

### getLog

    protected org.slf4j.Logger getLog()

### obtainLock

    public boolean obtainLock(Connection conn,
                              String lockName)

  Grants a lock on the identified resource to the calling thread (blocking until it is available).

  Specified by:
    `obtainLock` in interface `Semaphore`
  Parameters:
    `conn` - Database connection used to establish lock. Can be null if ``Semaphore.requiresConnection()`` returns false.
  Returns:
    true if the lock was obtained.

### releaseLock

    public void releaseLock(Connection conn,
                            String lockName)

  Release the lock on the identified resource if it is held by the calling thread.

  Specified by:
    `releaseLock` in interface `Semaphore`
  Parameters:
    `conn` - Database connection used to establish lock. Can be null if ``Semaphore.requiresConnection()`` returns false.

### isLockOwner

    public boolean isLockOwner(Connection conn,
                               String lockName)

  Determine whether the calling thread owns a lock on the identified resource.

  Specified by:
    `isLockOwner` in interface `Semaphore`
  Parameters:
    `conn` - Database connection used to establish lock. Can be null if ``Semaphore.requiresConnection()`` returns false.

### requiresConnection

    public boolean requiresConnection()

  This Semaphore implementation does not use the database.

  Specified by:
    `requiresConnection` in interface `Semaphore`
  See Also:
    `Semaphore.isLockOwner(Connection, String)`, `Semaphore.obtainLock(Connection, String)`, `Semaphore.releaseLock(Connection, String)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001-2012, Terracotta, Inc.