本文整理了Java中org.apache.zookeeper.ZooKeeper.getChildren()
方法的一些代码示例,展示了ZooKeeper.getChildren()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeper.getChildren()
方法的具体详情如下:
包路径:org.apache.zookeeper.ZooKeeper
类名称:ZooKeeper
方法名:getChildren
[英]Return the list of the children of the node of the given path.
If the watch is non-null and the call is successful (no exception is thrown), a watch will be left on the node with the given path. The watch will be triggered by a successful operation that deletes the node of the given path or creates/delete a child under the node.
The list of children returned is not sorted and no guarantee is provided as to its natural or lexical order.
A KeeperException with error code KeeperException.NoNode will be thrown if no node with the given path exists.
[中]返回给定路径节点的子节点列表。
如果watch为非null且调用成功(未引发异常),则将在节点上保留一个具有给定路径的watch。成功删除给定路径的节点或在节点下创建/删除子节点的操作将触发监视。
返回的儿童名单没有分类,也不能保证其自然顺序或词汇顺序。
错误代码为KeeperException的KeeperException。如果不存在具有给定路径的节点,将抛出NoNode。
代码示例来源:origin: apache/zookeeper
/**
* The asynchronous version of getChildren.
*
* @since 3.3.0
*
* @see #getChildren(String, boolean, Stat)
*/
public void getChildren(String path, boolean watch, Children2Callback cb,
Object ctx)
{
getChildren(path, watch ? watchManager.defaultWatcher : null, cb, ctx);
}
代码示例来源:origin: apache/zookeeper
/**
* The asynchronous version of getChildren.
*
* @see #getChildren(String, boolean)
*/
public void getChildren(String path, boolean watch, ChildrenCallback cb,
Object ctx)
{
getChildren(path, watch ? watchManager.defaultWatcher : null, cb, ctx);
}
代码示例来源:origin: apache/pulsar
@Override
public Iterable<String> getManagedLedgers() throws MetaStoreException {
try {
return zk.getChildren(prefixName, false);
} catch (Exception e) {
throw new MetaStoreException(e);
}
}
代码示例来源:origin: apache/zookeeper
private void utestChildren(int port)
throws IOException, InterruptedException, KeeperException
{
ZooKeeper zk =
new ZooKeeper("127.0.0.1:" + port, CONNECTION_TIMEOUT, this);
for (int i = 0; i < 10000; i++) {
zk.getChildren("/" + i, true);
}
zk.close();
}
代码示例来源:origin: apache/ignite
/**
* @param path Path.
* @param watcher Watcher.
* @param cb Callback.
*/
void getChildrenAsync(String path, Watcher watcher, AsyncCallback.Children2Callback cb) {
GetChildrenOperation op = new GetChildrenOperation(path, watcher, cb);
zk.getChildren(path, watcher, new ChildrenCallbackWrapper(op), null);
}
代码示例来源:origin: apache/incubator-druid
private void waitForOneWorkerToHaveUnackedTasks() throws Exception
{
while (remoteTaskRunner.getWorkersWithUnacknowledgedTask().size() < 1) {
Thread.sleep(5);
}
ZooKeeper zk = rtrTestUtils.getCuratorFramework().getZookeeperClient().getZooKeeper();
while (zk.getChildren(rtrTestUtils.tasksPath + "/worker0", false).size() < 1
&& zk.getChildren(rtrTestUtils.tasksPath + "/worker1", false).size() < 1) {
Thread.sleep(5);
}
}
代码示例来源:origin: apache/incubator-druid
private void waitForBothWorkersToHaveUnackedTasks() throws Exception
{
while (remoteTaskRunner.getWorkersWithUnacknowledgedTask().size() < 2) {
Thread.sleep(5);
}
ZooKeeper zk = rtrTestUtils.getCuratorFramework().getZookeeperClient().getZooKeeper();
while (zk.getChildren(rtrTestUtils.tasksPath + "/worker0", false).size() < 1
|| zk.getChildren(rtrTestUtils.tasksPath + "/worker1", false).size() < 1) {
Thread.sleep(5);
}
}
}
代码示例来源:origin: twitter/distributedlog
private void doWatchNamespaceChanges() {
try {
zkc.get().getChildren(uri.getPath(), this, this, null);
} catch (ZooKeeperClient.ZooKeeperConnectionException e) {
scheduleTask(this, conf.getZKSessionTimeoutMilliseconds());
} catch (InterruptedException e) {
logger.warn("Interrupted on watching namespace changes for {} : ", uri, e);
scheduleTask(this, conf.getZKSessionTimeoutMilliseconds());
}
}
代码示例来源:origin: twitter/distributedlog
private static List<String> getLockWaiters(ZooKeeperClient zkc, String lockPath) throws Exception {
List<String> children = zkc.get().getChildren(lockPath, false);
Collections.sort(children, ZKSessionLock.MEMBER_COMPARATOR);
return children;
}
代码示例来源:origin: twitter/distributedlog
private static List<String> getLockWaiters(ZooKeeperClient zkc, String lockPath) throws Exception {
List<String> children = zkc.get().getChildren(lockPath, false);
Collections.sort(children, ZKSessionLock.MEMBER_COMPARATOR);
return children;
}
代码示例来源:origin: apache/zookeeper
@Override
public void verify() {
zk.getChildren(path, false, this, toString());
super.verify();
}
代码示例来源:origin: apache/zookeeper
@Override
public void verify() {
zk.getChildren(path, false, this, toString());
super.verify();
}
代码示例来源:origin: twitter/distributedlog
public static Map<Long, LogSegmentMetadata> readLogSegments(ZooKeeperClient zkc, String ledgerPath) throws Exception {
List<String> children = zkc.get().getChildren(ledgerPath, false);
LOG.info("Children under {} : {}", ledgerPath, children);
Map<Long, LogSegmentMetadata> segments =
new HashMap<Long, LogSegmentMetadata>(children.size());
for (String child : children) {
LogSegmentMetadata segment =
FutureUtils.result(LogSegmentMetadata.read(zkc, ledgerPath + "/" + child));
LOG.info("Read segment {} : {}", child, segment);
segments.put(segment.getLogSegmentSequenceNumber(), segment);
}
return segments;
}
代码示例来源:origin: apache/zookeeper
public void preAuth() throws Exception {
ZooKeeper zk = createClient();
zk.addAuthInfo("key", "25".getBytes());
try {
createNodePrintAcl(zk, "/pre", "testPreAuth");
zk.setACL("/", Ids.CREATOR_ALL_ACL, -1);
zk.getChildren("/", false);
zk.create("/abc", null, Ids.CREATOR_ALL_ACL, CreateMode.PERSISTENT);
zk.setData("/abc", "testData1".getBytes(), -1);
zk.create("/key", null, Ids.CREATOR_ALL_ACL, CreateMode.PERSISTENT);
zk.setData("/key", "5".getBytes(), -1);
Thread.sleep(1000);
} catch (KeeperException e) {
Assert.fail("test failed :" + e);
} finally {
zk.close();
}
}
代码示例来源:origin: twitter/distributedlog
Future<List<String>> getLogSegmentNames(String logSegmentsPath, Watcher watcher) {
Promise<List<String>> result = new Promise<List<String>>();
try {
zkc.get().getChildren(logSegmentsPath, watcher, this, result);
} catch (ZooKeeperClient.ZooKeeperConnectionException e) {
result.setException(FutureUtils.zkException(e, logSegmentsPath));
} catch (InterruptedException e) {
result.setException(FutureUtils.zkException(e, logSegmentsPath));
}
return result;
}
代码示例来源:origin: apache/zookeeper
@Test
public void testNodeChildrenChanged() throws Exception {
String path = "/test-children-changed";
zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT);
zk1.getChildren(path, watcher);
qu.shutdown(1);
zk2.create(path + "/children-1", new byte[2],
ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
qu.start(1);
watcher.waitForConnected(TIMEOUT * 1000L);
watcher.assertEvent(TIMEOUT, EventType.NodeChildrenChanged);
}
}
代码示例来源:origin: apache/zookeeper
@Test
public void testWatchesTriggered() throws KeeperException, InterruptedException {
HasTriggeredWatcher watcher = new HasTriggeredWatcher();
zk.getChildren("/", watcher);
multi(zk, Arrays.asList(
Op.create("/t", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT),
Op.delete("/t", -1)
));
assertTrue(watcher.triggered.await(CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS));
}
代码示例来源:origin: twitter/distributedlog
@Test(timeout = 60000)
public void testAclPermsZkAccessNoConflict() throws Exception {
String namespace = "/" + runtime.getMethodName();
initDlogMeta(namespace, "test-un", "test-stream");
URI uri = createDLMURI(namespace);
ZooKeeperClient zkc = TestZooKeeperClientBuilder.newBuilder()
.name("unpriv")
.uri(uri)
.build();
zkc.get().getChildren(uri.getPath() + "/test-stream", false, new Stat());
zkc.get().getData(uri.getPath() + "/test-stream", false, new Stat());
}
代码示例来源:origin: twitter/distributedlog
private void rmAll(ZooKeeperClient client, String path) throws Exception {
List<String> nodes = client.get().getChildren(path, false);
for (String node : nodes) {
String childPath = path + "/" + node;
rmAll(client, childPath);
}
client.get().delete(path, 0);
}
代码示例来源:origin: apache/zookeeper
@Test
public void testNoWatchesTriggeredForFailedMultiRequest() throws InterruptedException, KeeperException {
HasTriggeredWatcher watcher = new HasTriggeredWatcher();
zk.getChildren("/", watcher);
try {
multi(zk, Arrays.asList(
Op.create("/t", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT),
Op.delete("/nonexisting", -1)
));
fail("expected previous multi op to fail!");
} catch (KeeperException.NoNodeException e) {
// expected
}
SyncCallback cb = new SyncCallback();
zk.sync("/", cb, null);
// by waiting for the callback we're assured that the event queue is flushed
cb.done.await(CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS);
assertEquals(1, watcher.triggered.getCount());
}
内容来源于网络,如有侵权,请联系作者删除!