本文整理了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
[英]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();
内容来源于网络,如有侵权,请联系作者删除!