org.apache.lucene.store.Lock.close()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(129)

本文整理了Java中org.apache.lucene.store.Lock.close()方法的一些代码示例,展示了Lock.close()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Lock.close()方法的具体详情如下:
包路径:org.apache.lucene.store.Lock
类名称:Lock
方法名:close

Lock.close介绍

[英]Releases exclusive access.

Note that exceptions thrown from close may require human intervention, as it may mean the lock was no longer valid, or that fs permissions prevent removal of the lock file, or other reasons.
[中]释放独占访问权限。
请注意,从close引发的异常可能需要人工干预,因为这可能意味着锁不再有效,或者fs权限阻止删除锁文件,或者其他原因。

代码示例

代码示例来源:origin: org.elasticsearch/elasticsearch

@Override
public void close() {
  if (closed.compareAndSet(false, true) && locks != null) {
    for (Lock lock : locks) {
      try {
        logger.trace("releasing lock [{}]", lock);
        lock.close();
      } catch (IOException e) {
        logger.trace(() -> new ParameterizedMessage("failed to release lock [{}]", lock), e);
      }
    }
  }
}

代码示例来源:origin: apache/maven-indexer

@Override
public void close()
  throws IOException
{
  try
  {
    delegate.close();
  }
  finally
  {
    emittedLocks.remove( this );
  }
}

代码示例来源:origin: org.apache.maven.indexer/indexer-core

@Override
public void close()
  throws IOException
{
  try
  {
    delegate.close();
  }
  finally
  {
    emittedLocks.remove( this );
  }
}

代码示例来源:origin: org.wso2.carbon.analytics/org.wso2.carbon.analytics.dataservice

@Override
public void clearLock(String name) throws IOException {
  Lock lock = this.locks.remove(this.baseName + ":" + name);
  lock.close();
  System.out.println("### LOCK CLEARED: " + name);
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

@Override
public void close() {
  if (closed.compareAndSet(false, true) && locks != null) {
    for (Lock lock : locks) {
      try {
        logger.trace("releasing lock [{}]", lock);
        lock.close();
      } catch (IOException e) {
        logger.trace((Supplier<?>) () -> new ParameterizedMessage("failed to release lock [{}]", lock), e);
      }
    }
  }
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

@Override
public void close() {
  if (closed.compareAndSet(false, true) && locks != null) {
    for (Lock lock : locks) {
      try {
        logger.trace("releasing lock [{}]", lock);
        lock.close();
      } catch (IOException e) {
        logger.trace(() -> new ParameterizedMessage("failed to release lock [{}]", lock), e);
      }
    }
  }
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Returns <code>true</code> iff the index in the named directory is
 * currently locked.
 * @param directory the directory to check for a lock
 * @throws IOException if there is a low-level IO error
 * @deprecated Use of this method can only lead to race conditions. Try
 *             to actually obtain a lock instead.
 */
@Deprecated
public static boolean isLocked(Directory directory) throws IOException {
 try {
  directory.obtainLock(WRITE_LOCK_NAME).close();
  return false;
 } catch (LockObtainFailedException failed) {
  return true;
 }
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/**
 * Returns <code>true</code> iff the index in the named directory is
 * currently locked.
 * @param directory the directory to check for a lock
 * @throws IOException if there is a low-level IO error
 * @deprecated Use of this method can only lead to race conditions. Try
 *             to actually obtain a lock instead.
 */
@Deprecated
public static boolean isLocked(Directory directory) throws IOException {
 try {
  directory.obtainLock(WRITE_LOCK_NAME).close();
  return false;
 } catch (LockObtainFailedException failed) {
  return true;
 }
}

代码示例来源:origin: harbby/presto-connectors

@Override
public void close() {
  if (closed.compareAndSet(false, true) && locks != null) {
    for (Lock lock : locks) {
      try {
        logger.trace("releasing lock [{}]", lock);
        lock.close();
      } catch (IOException e) {
        logger.trace("failed to release lock [{}]", e, lock);
      }
    }
  }
}

代码示例来源:origin: hibernate/hibernate-search

public static boolean isLocked(Directory directory) throws IOException {
  try {
    directory.obtainLock( org.apache.lucene.index.IndexWriter.WRITE_LOCK_NAME ).close();
    return false;
  }
  catch (LockObtainFailedException failed) {
    return true;
  }
}

代码示例来源:origin: org.infinispan/infinispan-lucene-directory

private static boolean isLocked(Directory directory) throws IOException {
 try {
   directory.obtainLock(IndexWriter.WRITE_LOCK_NAME).close();
   return false;
 } catch (LockObtainFailedException failed) {
   return true;
 }
}

代码示例来源:origin: org.apache.maven.indexer/indexer-core

for ( Lock emittedLock : emittedLocks )
  emittedLock.close();

代码示例来源:origin: apache/maven-indexer

for ( Lock emittedLock : emittedLocks )
  emittedLock.close();

代码示例来源:origin: org.infinispan/infinispan-query

/**
* This is returning as soon as the lock is available, or after 10 seconds.
*
* @return true if the lock is free at the time of returning.
*/
private boolean waitForAvailabilityInternal() {
 final Directory directory = indexManager.getDirectoryProvider().getDirectory();
 try {
   Lock lock = directory.obtainLock(IndexWriter.WRITE_LOCK_NAME);
   lock.close();
   return true;
 } catch (LockObtainFailedException lofe) {
   return false;
 } catch (IOException e) {
   log.error(e);
   return false;
 }
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/**
* This is returning as soon as the lock is available, or after 10 seconds.
*
* @return true if the lock is free at the time of returning.
*/
private boolean waitForAvailabilityInternal() {
 final Directory directory = indexManager.getDirectoryProvider().getDirectory();
 try {
   Lock lock = directory.obtainLock(IndexWriter.WRITE_LOCK_NAME);
   lock.close();
   return true;
 } catch (LockObtainFailedException lofe) {
   return false;
 } catch (IOException e) {
   log.error(e);
   return false;
 }
}

代码示例来源:origin: hibernate/hibernate-search

private boolean isIndexWriterLocked(IndexManager indexManager) {
  Directory directory = ( (DirectoryBasedIndexManager) indexManager ).getDirectoryProvider().getDirectory();
  Lock lock = null;
  try {
    lock = directory.obtainLock( IndexWriter.WRITE_LOCK_NAME );
  }
  catch (IOException e) {
    return true;
  }
  finally {
    if ( lock != null ) {
      try {
        lock.close();
      }
      catch (Exception ignored) {
      }
    }
  }
  return false;
}

代码示例来源:origin: org.infinispan/infinispan-lucene-directory

@Test
public void testLuceneIndexLocking() throws IOException {
 assertFalse(isLocked(directory1));
 Lock obtainedLock = directory1.obtainLock(IndexWriter.WRITE_LOCK_NAME);
 assertTrue(isLocked(directory1));
 assertTrue(isLocked(directory2));
 assertFalse(isLocked(directory3));
 obtainedLock.ensureValid(); //will throw an exception on failure
 obtainedLock.close();
 assertFalse(isLocked(directory1));
 assertFalse(isLocked(directory2));
 assertFalse(isLocked(directory3));
}

相关文章

微信公众号

最新文章

更多