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
|
Method Summary |
protected org.apache.commons.logging.Log |
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 |
SimpleSemaphore
public SimpleSemaphore()
getLog
protected org.apache.commons.logging.Log 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)
|