zookeeper的坑(二)

在上篇文章的基础上,本文继续探讨Zookeeper的使用中遇到的难题。通过zkCli.sh命令行工具进行调试,发现节点'/t/2'和'/t/4'未显示任何输出,疑似与特定代码段有关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上篇,同样的代码,同样的地方debug。


zkCli.sh执行

[zk: localhost:2181(CONNECTED) 13] ls /t
[]
[zk: localhost:2181(CONNECTED) 14] create /t/1 "1"
Created /t/1
[zk: localhost:2181(CONNECTED) 15] create /t/2 "1"
Created /t/2
[zk: localhost:2181(CONNECTED) 16] create /t/3 "1"
Created /t/3
[zk: localhost:2181(CONNECTED) 17] create /t/4 "1"
Created /t/4
[zk: localhost:2181(CONNECTED) 18] delete /t/2
[zk: localhost:2181(CONNECTED) 19] delete /t/4
[zk: localhost:2181(CONNECTED) 20] ls /t
[3, 1]

放开debug,Console输出:

2016-04-14 16:28:58,553 INFO  [PathChildrenCache-0] alarm.ZkTest (ZkTest.java:childEvent(65)) - zk:[path] ADD_WATCHER:/t/1
2016-04-14 16:28:58,940 INFO  [PathChildrenCache-0] alarm.ZkTest (ZkTest.java:childEvent(65)) - zk:[path] ADD_WATCHER:/t/3


居然"/t/2"和"/t/4"相关信息控制台毫无输出,貌似因为如下Code:

    private volatile Watcher childrenWatcher = new Watcher()
    {
        @Override
        public void process(WatchedEvent event)
        {
            offerOperation(new RefreshOperation(PathChildrenCache.this, RefreshMode.STANDARD));
        }
    };

因为"/t/2"和"/t/4"创建后又删除了,事件触发刷新操作,刷新后又无变化造成这个原因。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值