@Override public boolean canAcquireLock(Data key, String caller, long threadId) { LockResourceImpl lock = locks.get(key); if (lock == null) { return true; } else { return lock.canAcquireLock(caller, threadId); } }
@Override public boolean unlock(Data key, String caller, long threadId, long referenceId) { LockResourceImpl lock = locks.get(key); if (lock == null) { return false; } boolean result = false; if (lock.canAcquireLock(caller, threadId)) { if (lock.unlock(caller, threadId, referenceId)) { result = true; } } if (lock.isRemovable()) { locks.remove(key); } return result; }