org.apache.helix.manager.zk.zookeeper.ZkClient.getEventLock()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(6.9k)|赞(0)|评价(0)|浏览(116)

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

ZkClient.getEventLock介绍

[英]Returns a mutex all zookeeper events are synchronized aginst. So in case you need to do something without getting any zookeeper event interruption synchronize against this mutex. Also all threads waiting on this mutex object will be notified on an event.
[中]返回一个互斥锁,所有zookeeper事件都会同步。所以,如果你需要做一些事情,而不需要任何zookeeper事件中断来同步这个互斥锁。此外,等待此互斥对象的所有线程都将收到事件通知。

代码示例

代码示例来源:origin: apache/helix

public void setCurrentState(KeeperState currentState) {
 getEventLock().lock();
 try {
  _currentState = currentState;
 } finally {
  getEventLock().unlock();
 }
}

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

public void setCurrentState(KeeperState currentState) {
 getEventLock().lock();
 try {
  _currentState = currentState;
 } finally {
  getEventLock().unlock();
 }
}

代码示例来源:origin: apache/helix

public boolean isClosed() {
 try {
  getEventLock().lock();
  return _closed;
 } finally {
  getEventLock().unlock();
 }
}

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

private void acquireEventLock() {
 try {
  getEventLock().lockInterruptibly();
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 }
}

代码示例来源:origin: apache/helix

private void acquireEventLock() {
 try {
  getEventLock().lockInterruptibly();
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 }
}

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

public boolean waitForKeeperState(KeeperState keeperState, long time, TimeUnit timeUnit)
  throws ZkInterruptedException {
 if (_zookeeperEventThread != null && Thread.currentThread() == _zookeeperEventThread) {
  throw new IllegalArgumentException("Must not be done in the zookeeper event thread.");
 }
 Date timeout = new Date(System.currentTimeMillis() + timeUnit.toMillis(time));
 LOG.debug("Waiting for keeper state " + keeperState);
 acquireEventLock();
 try {
  boolean stillWaiting = true;
  while (_currentState != keeperState) {
   if (!stillWaiting) {
    return false;
   }
   stillWaiting = getEventLock().getStateChangedCondition().awaitUntil(timeout);
  }
  LOG.debug("State is " + (_currentState == null ? "CLOSED" : _currentState));
  return true;
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

代码示例来源:origin: apache/helix

public boolean waitForKeeperState(KeeperState keeperState, long time, TimeUnit timeUnit)
  throws ZkInterruptedException {
 if (_zookeeperEventThread != null && Thread.currentThread() == _zookeeperEventThread) {
  throw new IllegalArgumentException("Must not be done in the zookeeper event thread.");
 }
 Date timeout = new Date(System.currentTimeMillis() + timeUnit.toMillis(time));
 LOG.debug("Waiting for keeper state " + keeperState);
 acquireEventLock();
 try {
  boolean stillWaiting = true;
  while (_currentState != keeperState) {
   if (!stillWaiting) {
    return false;
   }
   stillWaiting = getEventLock().getStateChangedCondition().awaitUntil(timeout);
  }
  LOG.debug("State is " + (_currentState == null ? "CLOSED" : _currentState));
  return true;
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

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

private void reconnect() {
 getEventLock().lock();
 try {
  _connection.close();
  _connection.connect(this);
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

代码示例来源:origin: apache/helix

private void reconnect() {
 getEventLock().lock();
 try {
  ZkConnection connection = ((ZkConnection) getConnection());
  connection.reconnect(this);
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

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

public boolean waitUntilExists(String path, TimeUnit timeUnit, long time)
  throws ZkInterruptedException {
 Date timeout = new Date(System.currentTimeMillis() + timeUnit.toMillis(time));
 if (LOG.isDebugEnabled()) {
  LOG.debug("Waiting until znode '" + path + "' becomes available.");
 }
 if (exists(path)) {
  return true;
 }
 acquireEventLock();
 try {
  while (!exists(path, true)) {
   boolean gotSignal = getEventLock().getZNodeEventCondition().awaitUntil(timeout);
   if (!gotSignal) {
    return false;
   }
  }
  return true;
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

代码示例来源:origin: apache/helix

public boolean waitUntilExists(String path, TimeUnit timeUnit, long time)
  throws ZkInterruptedException {
 Date timeout = new Date(System.currentTimeMillis() + timeUnit.toMillis(time));
 if (LOG.isDebugEnabled()) {
  LOG.debug("Waiting until znode '" + path + "' becomes available.");
 }
 if (exists(path)) {
  return true;
 }
 acquireEventLock();
 try {
  while (!exists(path, true)) {
   boolean gotSignal = getEventLock().getZNodeEventCondition().awaitUntil(timeout);
   if (!gotSignal) {
    return false;
   }
  }
  return true;
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

代码示例来源:origin: apache/helix

getEventLock().lock();
try {
  getEventLock().getStateChangedCondition().signalAll();
   getEventLock().getZNodeEventCondition().signalAll();
   getEventLock().getDataChangedCondition().signalAll();
  getEventLock().getZNodeEventCondition().signalAll();
  getEventLock().getDataChangedCondition().signalAll();
 getEventLock().unlock();

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

getEventLock().lock();
try {
  getEventLock().getStateChangedCondition().signalAll();
   getEventLock().getZNodeEventCondition().signalAll();
   getEventLock().getDataChangedCondition().signalAll();
  getEventLock().getZNodeEventCondition().signalAll();
  getEventLock().getDataChangedCondition().signalAll();
 getEventLock().unlock();

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

LOG.trace("closing a zkclient. callStack: " + Arrays.asList(calls));
getEventLock().lock();
try {
 if (_connection == null || _closed) {
 getEventLock().getStateChangedCondition().signalAll();
 getEventLock().unlock();
 if (_monitor != null) {
  _monitor.unregister();

代码示例来源:origin: apache/helix

LOG.trace("closing a zkclient. callStack: " + Arrays.asList(calls));
getEventLock().lock();
IZkConnection connection = getConnection();
try {
 getEventLock().getStateChangedCondition().signalAll();
 getEventLock().unlock();
 if (_monitor != null) {
  _monitor.unregister();

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

public long getCreationTime(String path) {
 acquireEventLock();
 try {
  return _connection.getCreateTime(path);
 } catch (KeeperException e) {
  throw ZkException.create(e);
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

代码示例来源:origin: apache/helix

public long getCreationTime(String path) {
 acquireEventLock();
 try {
  return getConnection().getCreateTime(path);
 } catch (KeeperException e) {
  throw ZkException.create(e);
 } catch (InterruptedException e) {
  throw new ZkInterruptedException(e);
 } finally {
  getEventLock().unlock();
 }
}

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

getEventLock().unlock();

代码示例来源:origin: apache/helix

getEventLock().unlock();

代码示例来源:origin: apache/helix

((ZkClient) manager._zkclient).getEventLock().lockInterruptibly();
((ZkClient) manager._zkclient).getEventLock().unlock();

相关文章