@Override public boolean tryLock() { return lockGroup.tryLock(lockId); }
@Override public void lock() { lockGroup.lock(lockId); }
@Override public void lockInterruptibly() throws InterruptedException { lockGroup.lockInterruptibly(lockId); }
private Lock getLock(String key) { return this.oauthManager.getMuleContext() .getLockFactory() .createLock(String.format("OAuthTokenKeyLock-%s", key)); }
lockEntry = new LockEntry(lockProvider.createLock(lockId)); locks.put(lockId,lockEntry); lockEntry.incrementLockCount(); lockAccessMonitor.notifyAll(); boolean lockAcquired = lockEntry.getLock().tryLock(timeout, timeUnit); if (!lockAcquired) lockEntry.decrementLockCount(); if (!lockEntry.hasPendingLocks())
@Override public void lockInterruptibly(String lockId) throws InterruptedException { LockEntry lockEntry; synchronized (lockAccessMonitor) { if (locks.containsKey(lockId)) { lockEntry = locks.get(lockId); } else { lockEntry = new LockEntry(lockProvider.createLock(lockId)); locks.put(lockId,lockEntry); } lockEntry.incrementLockCount(); lockAccessMonitor.notifyAll(); } lockEntry.getLock().lockInterruptibly(); }
@Override public void unlock(String key) { synchronized (lockAccessMonitor) { LockEntry lockEntry = locks.get(key); if (lockEntry != null) { lockEntry.decrementLockCount(); if (!lockEntry.hasPendingLocks()) { locks.remove(key); } lockEntry.getLock().unlock(); } lockAccessMonitor.notifyAll(); } }
@Override public void dispose() { lockGroup.dispose(); }
@Override public void unlock() { lockGroup.unlock(lockId); }
public synchronized Lock createLock(String lockId) { return new LockAdapter(lockId,lockGroup); }
@Override public void initialise() throws InitialisationException { if (lockProvider == null) { lockProvider = muleContext.getRegistry().get(MuleProperties.OBJECT_LOCK_PROVIDER); } lockGroup = new InstanceLockGroup(lockProvider); }
/** * Cache identifier to catch duplicate usage. * * @param ident * @return <code>true</code> if new, <code>false</code> if previously cached */ public boolean cacheIdentifier(String ident) { Lock lock = lockFactory.createLock(ident); try { if (lock.tryLock(LOCK_WAIT_SECONDS, TimeUnit.SECONDS)) { try { if (counterObjectStore.contains(ident)) { return false; } counterObjectStore.store(ident, ""); return true; } catch (ObjectStoreException e) { throw new RuntimeException("Could not cache identifier " + ident, e); } finally { lock.unlock(); } } else { throw new RuntimeException("Could not acquire lock to cache identifier " + ident); } } catch (InterruptedException e) { throw new RuntimeException("Failed acquiring lock to cache identifier " + ident); } }
lockEntry = new LockEntry(lockProvider.createLock(lockId)); locks.put(lockId,lockEntry); lockEntry.incrementLockCount(); lockAccessMonitor.notifyAll(); boolean lockAcquired = lockEntry.getLock().tryLock(); if (!lockAcquired) lockEntry.decrementLockCount(); if (!lockEntry.hasPendingLocks())
@Override public void lock(String lockId) { LockEntry lockEntry; synchronized (lockAccessMonitor) { if (locks.containsKey(lockId)) { lockEntry = locks.get(lockId); } else { lockEntry = new LockEntry(lockProvider.createLock(lockId)); locks.put(lockId,lockEntry); } lockEntry.incrementLockCount(); lockAccessMonitor.notifyAll(); } lockEntry.getLock().lock(); }
@Override public boolean tryLock(long timeout, TimeUnit timeUnit) throws InterruptedException { return lockGroup.tryLock(lockId, timeout, timeUnit); }
Lock lock = lockFactory.createLock(key); try { if (lock.tryLock(LOCK_WAIT_SECONDS, TimeUnit.SECONDS)) {
Lock lock = lockFactory.createLock(key); try { if (lock.tryLock(LOCK_WAIT_SECONDS, TimeUnit.SECONDS)) {
Lock lock = lockFactory.createLock(key); try { if (lock.tryLock(LOCK_WAIT_SECONDS, TimeUnit.SECONDS)) {
Lock lock = muleContext.getLockFactory().createLock(sharedObjectStoreLockId); lock.lock(); try {
Lock lock = muleContext.getLockFactory().createLock(sharedObjectStoreLockId); lock.lock(); try {