zookeeper节点操作zkclient

增加、删除节点,监测节点信息的变化,解析json

package com.keixn.inspect.controller;

/**
 * @Author KeXin
 * @Date 2018/7/19 下午3:36
 **/

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.ParserConfig;
import org.I0Itec.zkclient.IZkDataListener;
import org.I0Itec.zkclient.ZkClient;

public class Get_Data_Sample {

    public static void main(String[] args) throws Exception {

        String path = "/zk-book";
        ZkClient zkClient = new ZkClient("localhost:2181", 5000);
        String d = "{\"@type\":\"com.alibaba.otter.canal.protocol.position.LogPosition\",\"identity\":{\"slaveId\":-1,\"sourceAddress\":{\"address\":\"192.168.13.90\",\"port\":8306}},\"postion\":{\"included\":false,\"journalName\":\"shrekdb.001783\",\"position\":649840868,\"serverId\":16815,\"timestamp\":1531982550000}}";
        zkClient.createEphemeral(path, d);

        zkClient.subscribeDataChanges(path, new IZkDataListener() {
            public void handleDataDeleted(String dataPath) throws Exception {
                System.out.println("Node " + dataPath + " deleted.");
            }
            public void handleDataChange(String dataPath, Object data) throws Exception {
                System.out.println("Node " + dataPath + " changed, new data: " + data);
            }
        });

        //读取节点数据
        String data = zkClient.readData(path);
        ParserConfig.getGlobalInstance().setAutoTypeSupport(true);  //解决@type造成的bug,fastjson本身的原因
        JSONObject jsonObject = JSON.parseObject(data);
        long timestamp = Long.parseLong(jsonObject.getJSONObject("postion").get("timestamp").toString());
        long currentTime = System.currentTimeMillis();
        long diff = (currentTime-timestamp)/1000;
        System.out.println("-------------------------------------");
        System.out.println(timestamp);
        System.out.println(currentTime);
        System.out.println(diff);

        Thread.sleep(1000);
        zkClient.delete(path);
        Thread.sleep( Integer.MAX_VALUE );


    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄鸭and小黑鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值