com.xjeffrose.xio.core.ZkClient类的使用及代码示例

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

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

ZkClient介绍

暂无

代码示例

代码示例来源:origin: xjdr/xio

public static ZkClient buildZkClient(ApplicationConfig applicationConfig) {
 String zookeeperCluster = applicationConfig.getZookeeperCluster();
 ZkClient zkClient;
 if (zookeeperCluster.isEmpty()) {
  zkClient = new NullZkClient();
 } else {
  if (zookeeperCluster.startsWith("exhibitor:")) {
   String[] values = zookeeperCluster.replace("exhibitor:", "").split(":");
   int restPort = Integer.parseInt(values[0]);
   Collection<String> serverSet = Arrays.asList(values[1].split(","));
   zkClient = ZkClient.fromExhibitor(serverSet, restPort);
  } else {
   zkClient = new ZkClient(zookeeperCluster);
  }
 }
 return zkClient;
}

代码示例来源:origin: xjdr/xio

public void registerForTreeNodeEvents(String path, Consumer<TreeCacheEvent> updater) {
 TreeCache cache = getOrCreateTreeCache(path);
 if (client.getState().equals(CuratorFrameworkState.STARTED)) {
  startTreeCache(cache);
 }
 cache
   .getListenable()
   .addListener(
     new TreeCacheListener() {
      @Override
      public void childEvent(CuratorFramework client, TreeCacheEvent event)
        throws Exception {
       updater.accept(event);
      }
     });
}

代码示例来源:origin: xjdr/xio

public void register(String path, InetSocketAddress address) {
 register(path, address, null);
}

代码示例来源:origin: xjdr/xio

ZkClient zkClient = new ZkClient(server.getConnectString());
AtomicReference<String> result = new AtomicReference<>();
CountDownLatch signal = new CountDownLatch(1);
zkClient.registerUpdater(
  new ConfigurationUpdater() {
   @Override
zkClient.start();
zkClient.stop();

代码示例来源:origin: xjdr/xio

.forPath(treeNodePath + "/one", payload1.getBytes());
ZkClient zkClient = new ZkClient(server.getConnectString());
zkClient.start();
zkClient.registerForTreeNodeEvents(
  treeNodePath,
  treeCacheEvent -> {
assertEquals(payload1, zkClient.get(treeNodePath + "/one"));
assertEquals(payload2, zkClient.get(treeNodePath + "/two"));

代码示例来源:origin: xjdr/xio

public Application build() {
  Map<String, XioServer> servers = new HashMap<>();
  serverBootstraps.forEach((k, v) -> servers.put(k, v.build()));

  ZkClient zkClient = state.getZkClient();
  zkClient.registerUpdater(
    new IpFilterConfig.Updater(config.getIpFilterPath(), state::setIpFilterConfig));
  zkClient.registerUpdater(
    new Http1FilterConfig.Updater(config.getHttp1FilterPath(), state::setHttp1FilterConfig));
  state.getZkClient().start();

  Configurator configurator = Configurator.build(config.settings());
  configurator.start();
  Application application = new Application(config, servers, state, configurator);
  new ApplicationRunner(application).start();
  return application;
 }
}

代码示例来源:origin: xjdr/xio

@Test
public void testFromExhibitor() throws Exception {
 MockWebServer server = new MockWebServer();
 server.enqueue(
   new MockResponse()
     .setBody(
       "count=5&server0=10.10.1.1&server1=10.10.1.2&server2=10.10.1.3&server3=10.10.1.4&server4=10.10.1.5&port=2181")
     .setHeader("Content-Type", "application/x-www-form-urlencoded"));
 server.start();
 ZkClient client = ZkClient.fromExhibitor(Arrays.asList("127.0.0.1"), server.getPort());
 assertEquals(
   "10.10.1.1:2181,10.10.1.2:2181,10.10.1.3:2181,10.10.1.4:2181,10.10.1.5:2181",
   client.getConnectionString());
 server.shutdown();
}

代码示例来源:origin: xjdr/xio

public void registerUpdater(ConfigurationUpdater updater) {
 NodeCache cache = getOrCreateNodeCache(updater.getPath());
 if (client.getState().equals(CuratorFrameworkState.STARTED)) {
  startNodeCache(cache);
 }
 cache
   .getListenable()
   .addListener(
     new NodeCacheListener() {
      @Override
      public void nodeChanged() {
       updater.update(cache.getCurrentData().getData());
      }
     });
}

代码示例来源:origin: xjdr/xio

public static ZkClient fromExhibitor(Collection<String> serverSet, int restPort) {
 try {
  Exhibitors exhibitors = new Exhibitors(serverSet, restPort, () -> "");
  RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
  ExhibitorEnsembleProvider ensemble =
    new ExhibitorEnsembleProvider(
      exhibitors,
      new DefaultExhibitorRestClient(),
      "/exhibitor/v1/cluster/list",
      61000,
      retryPolicy);
  ensemble.pollForInitialEnsemble();
  CuratorFramework curatorClient =
    CuratorFrameworkFactory.builder()
      .ensembleProvider(ensemble)
      .retryPolicy(retryPolicy)
      .build();
  return new ZkClient(curatorClient);
 } catch (Exception e) {
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: xjdr/xio

public static void main(String args[]) throws Exception {
  Application application =
    new ApplicationBootstrap("exhibitor-test")
      .addServer("main", bs -> bs.addToPipeline(new SmartHttpPipeline()))
      .build();

  application
    .getState()
    .getZkClient()
    .getClient()
    .create()
    .creatingParentsIfNeeded()
    .forPath("/test/key", "value".getBytes());
 }
}

代码示例来源:origin: xjdr/xio

String path = "/xio/watched/node-init";
ZkClient zkClient = new ZkClient(server.getConnectString());
AtomicReference<String> result = new AtomicReference<>();
CountDownLatch signal = new CountDownLatch(1);
zkClient.start();
zkClient.registerUpdater(
  new ConfigurationUpdater() {
   @Override
assertEquals(payload, result.get());
zkClient.stop();

代码示例来源:origin: xjdr/xio

ZkClient zkClient = new ZkClient(server.getConnectString());
AtomicReference<String> result = new AtomicReference<>();
CountDownLatch firstSignal = new CountDownLatch(1);
CountDownLatch secondSignal = new CountDownLatch(2);
zkClient.registerUpdater(
  new ConfigurationUpdater() {
   @Override
zkClient.start();
assertEquals(update, result.get());
zkClient.stop();

代码示例来源:origin: xjdr/xio

public void register(String NODE_LIST_PATH, String ip, int port, @Nullable byte[] data) {
 register(NODE_LIST_PATH, new InetSocketAddress(ip, port), data);
}

相关文章

微信公众号

最新文章

更多