@Override public void unlockItem(SessionImplementor session, Object key, SoftLock lock) throws CacheException { RLock writeLock = mapCache.getReadWriteLock(key).writeLock(); writeLock.lock(); try { Lockable item = (Lockable) region.get(session, key); if (item != null && item.isUnlockable(lock)) { decrementLock(session, key, (Lock)item); } else { handleLockExpiry(session, key, item); } } finally { writeLock.unlock(); } }
@Override public void unlockItem(Object key, SoftLock lock) throws CacheException { RLock writeLock = mapCache.getReadWriteLock(key).writeLock(); writeLock.lock(); try { Lockable item = (Lockable) region.get(key); if (item != null && item.isUnlockable(lock)) { decrementLock(key, (Lock)item); } else { handleLockExpiry(key, item); } } finally { writeLock.unlock(); } }
@Override public void unlockItem(SharedSessionContractImplementor session, Object key, SoftLock lock) throws CacheException { RLock writeLock = mapCache.getReadWriteLock(key).writeLock(); writeLock.lock(); try { Lockable item = (Lockable) region.get(session, key); if (item != null && item.isUnlockable(lock)) { decrementLock(session, key, (Lock)item); } else { handleLockExpiry(session, key, item); } } finally { writeLock.unlock(); } }