Example usage for java.util.concurrent.locks Lock unlock

List of usage examples for java.util.concurrent.locks Lock unlock

Introduction

In this page you can find the example usage for java.util.concurrent.locks Lock unlock.

Prototype

void unlock();

Source Link

Document

Releases the lock.

Usage

From source file:org.mule.util.queue.DualRandomAccessFileQueueStoreDelegate.java

@Override
protected boolean isEmpty() {
    Lock lock = filesLock.readLock();
    lock.lock();/*w w  w.  ja  va 2s  . c o  m*/
    try {
        return randomAccessFileQueueStore1.isEmpty() && randomAccessFileQueueStore2.isEmpty();
    } finally {
        lock.unlock();
    }
}

From source file:org.mule.util.queue.DualRandomAccessFileQueueStoreDelegate.java

@Override
public synchronized void doClear() {
    Lock lock = filesLock.readLock();
    lock.lock();//  ww w  . j a  va 2 s.c  om
    try {
        randomAccessFileQueueStore1.clear();
        randomAccessFileQueueStore2.clear();
    } finally {
        lock.unlock();
    }
}

From source file:com.netxforge.oss2.config.DatabaseSchemaConfigFactory.java

/**
 * Return the database schema.//from  w  w w.  ja  va  2 s .c om
 *
 * @return the database schema
 */
public DatabaseSchema getDatabaseSchema() {
    final Lock lock = getReadLock();
    lock.lock();
    try {
        return m_config;
    } finally {
        lock.unlock();
    }
}

From source file:com.lithium.flow.shell.sshj.SshjShore.java

@Override
@Nonnull/*from  w ww .ja v a  2 s  .  c o m*/
public Shell getShell(@Nonnull Login login) throws IOException {
    checkNotNull(login);

    Sshj client = new Sshj(config, access.getPrompt());

    Lock lock = locks.getUnchecked(login.getHost());
    lock.lock();
    try {
        Shell shell = new SshjShell(client, login);
        shells.add(shell);
        return new DecoratedShell(shell) {
            @Override
            public void close() throws IOException {
                shells.remove(shell);
                super.close();
            }
        };
    } finally {
        lock.unlock();
    }
}

From source file:SoftReferenceCache.java

/**
 * @see java.util.Map#put(java.lang.Object, java.lang.Object)
 *//* w ww  .  j  a  v a 2s . co  m*/
public V put(K key, V value) {
    Lock lock = theLock.writeLock();
    lock.lock();
    try {
        removeQueued();
        KeyedSoftReference<V> val = theCache.get(key);
        theCache.put(key, new KeyedSoftReference<V>(key, value, theRefQueue));
        return val == null ? null : val.get();
    } finally {
        lock.unlock();
    }
}

From source file:org.openhab.binding.neeo.internal.handler.NeeoBrainHandler.java

/**
 * Gets the {@link NeeoBrainApi} used by this bridge
 *
 * @return a possibly null {@link NeeoBrainApi}
 *//*from   w  ww.  ja va 2 s . c  o m*/
@Nullable
public NeeoBrainApi getNeeoBrainApi() {
    final Lock readerLock = stateLock.readLock();
    readerLock.lock();
    try {
        return neeoBrainApi;
    } finally {
        readerLock.unlock();
    }
}

From source file:com.callidusrobotics.droptables.configuration.MongoFactory.java

/**
 * Generates a connection pool using the read-write credentials.
 *
 * @param env/* w  w  w  . j a  v  a2 s. c o m*/
 *          The application's environment
 * @return The connection pool, never null
 * @throws UnknownHostException
 * @see #setRwUser(LoginInfo)
 */
public MongoClient buildReadWriteClient(Environment env) throws UnknownHostException {
    if (rwClient != null) {
        return rwClient;
    }

    Lock lock = locks[LockFlags.MONGO_CLIENT.ordinal()];
    lock.lock();

    try {
        if (rwClient == null) {
            rwClient = buildClient(env, rwUser.getUsername(), rwUser.getPassword());
        }
    } finally {
        lock.unlock();
    }

    return rwClient;
}

From source file:com.callidusrobotics.droptables.configuration.MongoFactory.java

/**
 * Generates a connection wrapper using the read-write credentials.
 *
 * @param env/*from  ww w  .j a v a  2  s. co m*/
 *          The application's environment
 * @return The connection wrapper, never null
 * @throws UnknownHostException
 * @see #buildReadWriteClient(Environment)
 */
public Datastore buildReadWriteDatastore(Environment env) throws UnknownHostException {
    if (rwDatastore != null) {
        return rwDatastore;
    }

    Lock lock = locks[LockFlags.DATASTORE.ordinal()];
    lock.lock();

    try {
        if (rwDatastore == null) {
            rwDatastore = morphia.createDatastore(buildReadWriteClient(env), dbName);
        }
    } finally {
        lock.unlock();
    }

    return rwDatastore;
}

From source file:org.eclipse.gyrex.monitoring.metrics.BaseMetric.java

/**
 * Resets the metric statistics but not the metric values.
 *//*  ww w . j  ava  2  s .c o  m*/
public final void resetStats() {
    final Lock writeLock = getWriteLock();
    writeLock.lock();
    try {
        statsSince = System.currentTimeMillis();
        doResetStats();
    } finally {
        writeLock.unlock();
    }
}

From source file:com.callidusrobotics.droptables.configuration.MongoFactory.java

/**
 * Generates a connection wrapper using the read-only credentials.
 *
 * @param env// w  ww  . j a  v  a 2 s.  c  om
 *          The application's environment.
 * @return The connection wrapper, never null
 * @throws UnknownHostException
 * @see #buildReadOnlyClient(Environment)
 */
public Datastore buildReadOnlyDatastore(Environment env) throws UnknownHostException {
    if (roDatastore != null) {
        return roDatastore;
    }

    if (roUser == null || rwUser.equals(roUser)) {
        roDatastore = buildReadWriteDatastore(env);
    }

    Lock lock = locks[LockFlags.DATASTORE.ordinal()];
    lock.lock();

    try {
        if (roDatastore == null) {
            roDatastore = morphia.createDatastore(buildReadOnlyClient(env), dbName);
        }
    } finally {
        lock.unlock();
    }

    return roDatastore;
}