集群之 -- zookeeper -JAVA小例子bean操作

来源:互联网 发布:怎么免费开淘宝店 编辑:程序博客网 时间:2024/06/15 06:35

引入包:

<dependency>    <groupId>org.apache.zookeeper</groupId>    <artifactId>zookeeper</artifactId>    <version>3.4.9</version></dependency>


先准备一个类

package com.gy.controller;import lombok.Data;@Datapublic class ZooBean {    private String a;    private String b;}
 
@Testpublic void t1() {    String connectionString = "192.168.1.100:2181,192.168.1.100:2182,192.168.1.100:2183";    int n =9;    try {        ZooKeeper zk = new ZooKeeper(connectionString, 10000, new Watcher(){            @Override            public void process(WatchedEvent e) {                System.out.println("mypath: " + e.getPath()+" mystate:"+e.getState()+" mytype:"+e.getType());                WatcherEvent we = e.getWrapper();                System.out.println(" we state:"+we.getState()+" we path:"+we.getPath()+" we type:"+we.getType());            }        });        ZooBean zb = new ZooBean();        zb.setA("cs===");        zb.setB("fark===");        String s = JsonUtil.toJson(zb);        zk.create("/root" + n, s.getBytes(),                ZooDefs.Ids.OPEN_ACL_UNSAFE,                CreateMode.PERSISTENT);        zk.close();    } catch (Exception e) {        e.printStackTrace();    }}

@Testpublic void t2() {    String connectionString = "192.168.1.100:2181,192.168.1.100:2182,192.168.1.100:2183";    int n =9;    try {        ZooKeeper zk = new ZooKeeper(connectionString, 10000, new Watcher(){            @Override            public void process(WatchedEvent e ) {                System.out.println("mypath: " + e.getPath()+" mystate:"+e.getState()+" mytype:"+e.getType());                WatcherEvent we = e.getWrapper();                System.out.println(" we state:"+we.getState()+" we path:"+we.getPath()+" we type:"+we.getType());            }        });        Stat stat = new Stat();        byte[] bytes = zk.getData("/root" + n, true, stat);        String r = new String(bytes);        System.out.println("r:" + r);        ZooBean zb = JsonUtil.toObject(r, ZooBean.class);        System.out.println(zb.getA()+" "+zb.getB());        zk.delete("/root" + n, -1);        zk.close();    } catch (Exception e) {        e.printStackTrace();    }}


先运行t1,然后再运行t2,

输出:


r:{"a":"cs===","b":"fark==="}
cs=== fark===