当前位置:首页 » 编程语言 » zookeeperjava

zookeeperjava

发布时间: 2025-10-19 02:15:56

1. 如何解决java接口访问ZooKeeper时的connectionloss错误

常见错误日志如下:
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss

1. 原因:
是因为ZooKeeper建立连接时采用异步操作,连接操作后并不能保证ZK连接已成功。如果在ZK连接成功前的这个小时间窗口去访问ZK,就会碰到如上错误。
2. 解决思路
我们在新建ZK连接后要等一段时间,保证连接成功后再访问ZK。

3. 网上比较赞同的解决方案:
主要利用两个Java类:

(1)java.util.concurrent.CountDownLatch:
一个同步辅助类,类似倒数计数,直到计数器为0时才能对资源“解锁”。未解锁前等待该资源的进程只能被阻塞。

主要方法:
public CountDownLatch(int count); /* 构造函数,参数指定计数次数 */
public void countDown(); /* 当前线程调用此函数,则计数减一 */
public void await() throws InterruptedException; /* 此函数会一直阻塞当前线程,直到计时器的值为0为止 */

(2)org.apache.zookeeper.Watcher
ZooKeeper有一个很有用的功能,就是集群上每一个变化都可以通知到自定义的Watchcer。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:642
制作脚本网站 发布:2025-10-20 08:17:34 浏览:931
python中的init方法 发布:2025-10-20 08:17:33 浏览:628
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:814
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:726
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1061
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:293
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:155
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:845
python股票数据获取 发布:2025-10-20 07:39:44 浏览:757