当前位置: 首页>>代码示例>>Java>>正文


Java SolrZkClient.getChildren方法代码示例

本文整理汇总了Java中org.apache.solr.common.cloud.SolrZkClient.getChildren方法的典型用法代码示例。如果您正苦于以下问题:Java SolrZkClient.getChildren方法的具体用法?Java SolrZkClient.getChildren怎么用?Java SolrZkClient.getChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.solr.common.cloud.SolrZkClient的用法示例。


在下文中一共展示了SolrZkClient.getChildren方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: downloadFromZK

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
public static void downloadFromZK(SolrZkClient zkClient, String zkPath,
    File dir) throws IOException, KeeperException, InterruptedException {
  List<String> files = zkClient.getChildren(zkPath, null, true);
  
  for (String file : files) {
    List<String> children = zkClient.getChildren(zkPath + "/" + file, null, true);
    if (children.size() == 0) {
      byte[] data = zkClient.getData(zkPath + "/" + file, null, null, true);
      dir.mkdirs(); 
      log.info("Write file " + new File(dir, file));
      FileUtils.writeByteArrayToFile(new File(dir, file), data);
    } else {
      downloadFromZK(zkClient, zkPath + "/" + file, new File(dir, file));
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:17,代码来源:ZkController.java

示例2: downloadFromZK

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
public static void downloadFromZK(SolrZkClient zkClient, String zkPath,
    File dir) throws IOException, KeeperException, InterruptedException {
  List<String> files = zkClient.getChildren(zkPath, null, true);
  
  for (String file : files) {
    List<String> children = zkClient.getChildren(zkPath + "/" + file, null, true);
    if (children.size() == 0) {
      byte[] data = zkClient.getData(zkPath + "/" + file, null, null, true);
      dir.mkdirs(); 
      log.info("Write file " + new File(dir, file));
      FileUtils.writeStringToFile(new File(dir, file), new String(data, "UTF-8"), "UTF-8");
    } else {
      downloadFromZK(zkClient, zkPath + "/" + file, new File(dir, file));
    }
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:17,代码来源:ZkController.java

示例3: getSortedOverseerNodeNames

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
public static List<String> getSortedOverseerNodeNames(SolrZkClient zk) throws KeeperException, InterruptedException {
  List<String> children = null;
  try {
    children = zk.getChildren(OverseerElectionContext.PATH + LeaderElector.ELECTION_NODE, null, true);
  } catch (Exception e) {
    log.warn("error ", e);
    return new ArrayList<>();
  }
  LeaderElector.sortSeqs(children);
  ArrayList<String> nodeNames = new ArrayList<>(children.size());
  for (String c : children) nodeNames.add(LeaderElector.getNodeName(c));
  return nodeNames;
}
 
开发者ID:europeana,项目名称:search,代码行数:14,代码来源:OverseerCollectionProcessor.java

示例4: getSortedElectionNodes

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
public static List<String> getSortedElectionNodes(SolrZkClient zk) throws KeeperException, InterruptedException {
  List<String> children = null;
  try {
    children = zk.getChildren(OverseerElectionContext.PATH + LeaderElector.ELECTION_NODE, null, true);
    LeaderElector.sortSeqs(children);
    return children;
  } catch (Exception e) {
    throw e;
  }

}
 
开发者ID:europeana,项目名称:search,代码行数:12,代码来源:OverseerCollectionProcessor.java

示例5: testMultipleWatchesAsync

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
public void testMultipleWatchesAsync() throws Exception {
  try (ZkConnection conn = new ZkConnection ()) {
    final SolrZkClient zkClient = conn.getClient();
    zkClient.makePath("/collections", true);

    final int numColls = random().nextInt(100);
    final CountDownLatch latch = new CountDownLatch(numColls);

    for (int i = 1; i <= numColls; i ++) {
      String collPath = "/collections/collection" + i;
      zkClient.makePath(collPath, true);
      zkClient.getChildren(collPath, new Watcher() {
        @Override
        public void process(WatchedEvent event) {
          latch.countDown();
          try {
            Thread.sleep(1000);
          }
          catch (InterruptedException e) {}
        }
      }, true);
    }

    for (int i = 1; i <= numColls; i ++) {
      String shardsPath = "/collections/collection" + i + "/shards";
      zkClient.makePath(shardsPath, true);
    }

    assertTrue(latch.await(1000, TimeUnit.MILLISECONDS));
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:32,代码来源:ZkSolrClientTest.java

示例6: assertFileNotInZooKeeper

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
protected final void assertFileNotInZooKeeper(SolrZkClient zkClient, String parent, String fileName) throws Exception {
  List<String> kids = zkClient.getChildren(parent, null, true);
  for (String kid : kids) {
    if (kid.equalsIgnoreCase(fileName)) {
      String rawContent = new String(zkClient.getData(fileName, null, null, true), StandardCharsets.UTF_8);
      fail("File '" + fileName + "' was unexpectedly found in ZooKeeper.  Content starts with '"
          + rawContent.substring(0, 100) + " [...]'");
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:11,代码来源:TestCloudManagedSchema.java

示例7: getSortedNodeNames

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
public static List<String> getSortedNodeNames(SolrZkClient zk) throws KeeperException, InterruptedException {
  List<String> children = null;
  try {
    children = zk.getChildren(OverseerElectionContext.PATH + LeaderElector.ELECTION_NODE, null, true);
  } catch (Exception e) {
    log.warn("error ", e);
    return new ArrayList<String>();
  }
  LeaderElector.sortSeqs(children);
  ArrayList<String> nodeNames = new ArrayList<String>(children.size());
  for (String c : children) nodeNames.add(LeaderElector.getNodeName(c));
  return nodeNames;
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:14,代码来源:OverseerCollectionProcessor.java

示例8: showFromZooKeeper

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
private void showFromZooKeeper(SolrQueryRequest req, SolrQueryResponse rsp,
    CoreContainer coreContainer) throws KeeperException,
    InterruptedException, UnsupportedEncodingException {

  SolrZkClient zkClient = coreContainer.getZkController().getZkClient();

  String adminFile = getAdminFileFromZooKeeper(req, rsp, zkClient, hiddenFiles);

  if (adminFile == null) {
    return;
  }

  // Show a directory listing
  List<String> children = zkClient.getChildren(adminFile, null, true);
  if (children.size() > 0) {
    
    NamedList<SimpleOrderedMap<Object>> files = new SimpleOrderedMap<>();
    for (String f : children) {
      if (isHiddenFile(req, rsp, f, false, hiddenFiles)) {
        continue;
      }

      SimpleOrderedMap<Object> fileInfo = new SimpleOrderedMap<>();
      files.add(f, fileInfo);
      List<String> fchildren = zkClient.getChildren(adminFile + "/" + f, null, true);
      if (fchildren.size() > 0) {
        fileInfo.add("directory", true);
      } else {
        // TODO? content type
        fileInfo.add("size", f.length());
      }
      // TODO: ?
      // fileInfo.add( "modified", new Date( f.lastModified() ) );
    }
    rsp.add("files", files);
  } else {
    // Include the file contents
    // The file logic depends on RawResponseWriter, so force its use.
    ModifiableSolrParams params = new ModifiableSolrParams(req.getParams());
    params.set(CommonParams.WT, "raw");
    req.setParams(params);
    ContentStreamBase content = new ContentStreamBase.ByteArrayStream(zkClient.getData(adminFile, null, null, true), adminFile);
    content.setContentType(req.getParams().get(USE_CONTENT_TYPE));
    
    rsp.add(RawResponseWriter.CONTENT, content);
  }
  rsp.setHttpCaching(false);
}
 
开发者ID:europeana,项目名称:search,代码行数:49,代码来源:ShowFileRequestHandler.java

示例9: showFromZooKeeper

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
private void showFromZooKeeper(SolrQueryRequest req, SolrQueryResponse rsp,
    CoreContainer coreContainer) throws KeeperException,
    InterruptedException, UnsupportedEncodingException {
  String adminFile = null;
  SolrCore core = req.getCore();
  SolrZkClient zkClient = coreContainer.getZkController().getZkClient();
  final ZkSolrResourceLoader loader = (ZkSolrResourceLoader) core
      .getResourceLoader();
  String confPath = loader.getCollectionZkPath();
  
  String fname = req.getParams().get("file", null);
  if (fname == null) {
    adminFile = confPath;
  } else {
    fname = fname.replace('\\', '/'); // normalize slashes
    if (hiddenFiles.contains(fname.toUpperCase(Locale.ROOT))) {
      rsp.setException(new SolrException(ErrorCode.FORBIDDEN, "Can not access: " + fname));
      return;
    }
    if (fname.indexOf("..") >= 0) {
      rsp.setException(new SolrException(ErrorCode.FORBIDDEN, "Invalid path: " + fname));
      return;
    }
    if (fname.startsWith("/")) { // Only files relative to conf are valid
      fname = fname.substring(1);
    }
    adminFile = confPath + "/" + fname;
  }
  
  // Make sure the file exists, is readable and is not a hidden file
  if (!zkClient.exists(adminFile, true)) {
    rsp.setException(new SolrException(ErrorCode.NOT_FOUND, "Can not find: "
                                       + adminFile));
    return;
  }
  
  // Show a directory listing
  List<String> children = zkClient.getChildren(adminFile, null, true);
  if (children.size() > 0) {
    
    NamedList<SimpleOrderedMap<Object>> files = new SimpleOrderedMap<SimpleOrderedMap<Object>>();
    for (String f : children) {
      if (hiddenFiles.contains(f.toUpperCase(Locale.ROOT))) {
        continue; // don't show 'hidden' files
      }
      if (f.startsWith(".")) {
        continue; // skip hidden system files...
      }
      
      SimpleOrderedMap<Object> fileInfo = new SimpleOrderedMap<Object>();
      files.add(f, fileInfo);
      List<String> fchildren = zkClient.getChildren(adminFile, null, true);
      if (fchildren.size() > 0) {
        fileInfo.add("directory", true);
      } else {
        // TODO? content type
        fileInfo.add("size", f.length());
      }
      // TODO: ?
      // fileInfo.add( "modified", new Date( f.lastModified() ) );
    }
    rsp.add("files", files);
  } else {
    // Include the file contents
    // The file logic depends on RawResponseWriter, so force its use.
    ModifiableSolrParams params = new ModifiableSolrParams(req.getParams());
    params.set(CommonParams.WT, "raw");
    req.setParams(params);
    
    ContentStreamBase content = new ContentStreamBase.StringStream(
        new String(zkClient.getData(adminFile, null, null, true), "UTF-8"));
    content.setContentType(req.getParams().get(USE_CONTENT_TYPE));
    
    rsp.add(RawResponseWriter.CONTENT, content);
  }
  rsp.setHttpCaching(false);
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:78,代码来源:ShowFileRequestHandler.java

示例10: showFromZooKeeper

import org.apache.solr.common.cloud.SolrZkClient; //导入方法依赖的package包/类
private void showFromZooKeeper(SolrQueryRequest req, SolrQueryResponse rsp,
    CoreContainer coreContainer) throws KeeperException,
    InterruptedException, UnsupportedEncodingException {

  SolrZkClient zkClient = coreContainer.getZkController().getZkClient();

  String adminFile = getAdminFileFromZooKeeper(req, rsp, zkClient, hiddenFiles);

  if (adminFile == null) {
    return;
  }

  // Show a directory listing
  List<String> children = zkClient.getChildren(adminFile, null, true);
  if (children.size() > 0) {
    
    NamedList<SimpleOrderedMap<Object>> files = new SimpleOrderedMap<SimpleOrderedMap<Object>>();
    for (String f : children) {
      if (isHiddenFile(req, rsp, f, false, hiddenFiles)) {
        continue;
      }

      SimpleOrderedMap<Object> fileInfo = new SimpleOrderedMap<Object>();
      files.add(f, fileInfo);
      List<String> fchildren = zkClient.getChildren(adminFile + "/" + f, null, true);
      if (fchildren.size() > 0) {
        fileInfo.add("directory", true);
      } else {
        // TODO? content type
        fileInfo.add("size", f.length());
      }
      // TODO: ?
      // fileInfo.add( "modified", new Date( f.lastModified() ) );
    }
    rsp.add("files", files);
  } else {
    // Include the file contents
    // The file logic depends on RawResponseWriter, so force its use.
    ModifiableSolrParams params = new ModifiableSolrParams(req.getParams());
    params.set(CommonParams.WT, "raw");
    req.setParams(params);
    ContentStreamBase content = new ContentStreamBase.ByteArrayStream(zkClient.getData(adminFile, null, null, true), adminFile);
    content.setContentType(req.getParams().get(USE_CONTENT_TYPE));
    
    rsp.add(RawResponseWriter.CONTENT, content);
  }
  rsp.setHttpCaching(false);
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:49,代码来源:ShowFileRequestHandler.java


注:本文中的org.apache.solr.common.cloud.SolrZkClient.getChildren方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。