ZkClient 事件监听器的疑问

发布于 2022-09-07 08:57:40 字数 1985 浏览 18 评论 0

public static void main(String[] args) throws Exception {
    ZkClient zkClient = new ZkClient("127.0.0.1:2181", 5000);
    
    zkClient.createEphemeral("/zkclient");
    zkClient.subscribeDataChanges("/zkclient", new IZkDataListener() {            
        @Override
        public void handleDataDeleted(String dataPath) throws Exception {
            System.out.println(String.format("The node '%s' is deleted.", dataPath));
        }
        @Override
        public void handleDataChange(String dataPath, Object data) throws Exception {
            System.out.println(String.format("The node '%s' is changed, now its data is '%s'.", dataPath, data));
        }
    });
    
    zkClient.writeData("/zkclient", "hello world");
    Thread.sleep(1000);
    zkClient.delete("/zkclient");
    Thread.sleep(1000);
    
    zkClient.close();
}

这段代码输出的内容是:

The node '/zkclient' is changed, now its data is 'hello world'.
The node '/zkclient' is deleted.
public static void main(String[] args) throws Exception {
    ZkClient zkClient = new ZkClient("127.0.0.1:2181", 5000);
    
    zkClient.createEphemeral("/zkclient");
    zkClient.subscribeDataChanges("/zkclient", new IZkDataListener() {            
        @Override
        public void handleDataDeleted(String dataPath) throws Exception {
            System.out.println(String.format("The node '%s' is deleted.", dataPath));
        }
        @Override
        public void handleDataChange(String dataPath, Object data) throws Exception {
            System.out.println(String.format("The node '%s' is changed, now its data is '%s'.", dataPath, data));
        }
    });
    
    zkClient.writeData("/zkclient", "hello world");
    zkClient.delete("/zkclient");
    Thread.sleep(1000);
    
    zkClient.close();
}

这段代码的输出内容却是:

The node '/zkclient' is deleted.
The node '/zkclient' is deleted.

为什么会接收到两次删除节点事件?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文