"node");TimeUnit.SECONDS.sleep(2);zkClient.writeData("/node"

时间:2022-01-11 08:49:25

  一、引入zkclient的jar包(maven方法)

  <dependency>

    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
  </dependency>

  二、挪用相关代码

  

package com.zookeeper.api.zkClientApi; import java.util.List; import java.util.concurrent.TimeUnit; import org.I0Itec.zkclient.IZkDataListener; import org.I0Itec.zkclient.ZkClient; public class ZkClientApi { private final static String connectString = "192.168.194.128:2181,192.168.194.129:2181,192.168.194.130:2181"; public static void main(String[] args) throws InterruptedException { ZkClient zkClient = new ZkClient(connectString,4000); //zkClient一次创建多个节点 zkClient.createPersistent("/zkclient/zkclient1/zkclient1-1", true); System.out.println("创建多层节点告成"); List<String> list = zkClient.getChildren("/zkclient"); System.out.println("获取zkclient节点下的子节点:"+list); //zkClient删除一个节点,和原生api一样,,只能从最底层节点一个一个删除 // zkClient.delete("/zkclient"); //zkClient递归删除某个节点及其子节点 zkClient.deleteRecursive("/zkclient"); System.out.println("删除zkclient及其下面的子节点告成\n"); //操作watch机制做订阅,使用异步操纵措置惩罚惩罚节点 zkClient.subscribeDataChanges("/node", new IZkDataListener(){ public void handleDataChange(String arg0, Object arg1) throws Exception { System.out.println("节点名称:"+arg0+"-->改削后的值:"+arg1); } public void handleDataDeleted(String arg0) throws Exception { System.out.println("删除节点"+arg0+"告成"); } }); zkClient.createPersistent("/node","node"); TimeUnit.SECONDS.sleep(2); zkClient.writeData("/node", "node1"); TimeUnit.SECONDS.sleep(2); zkClient.delete("/node"); TimeUnit.SECONDS.sleep(2); } }

  三、显示测试功效

创建多层节点告成 获取zkclient节点下的子节点:[zkclient1] 删除zkclient及其下面的子节点告成 节点名称:/node-->改削后的值:node 节点名称:/node-->改削后的值:node1 删除节点/node告成

  

zookeeper zkClient api 使用