当前位置:首页 » 编程语言 » 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。

热点内容
phpqq第三方登录 发布:2025-10-19 04:38:39 浏览:857
一个服务器三个ip 发布:2025-10-19 04:36:23 浏览:331
qq密码不用手机如何找回 发布:2025-10-19 04:19:18 浏览:78
如何发送ftp服务器 发布:2025-10-19 04:18:35 浏览:154
安卓手机如何改桌面图标标签 发布:2025-10-19 04:17:14 浏览:445
python中文api文档 发布:2025-10-19 03:56:00 浏览:922
昆仑云服务器真实收入 发布:2025-10-19 03:48:12 浏览:397
没密码如何连接隔壁家无线网电脑 发布:2025-10-19 03:29:59 浏览:663
libcurl编译linux 发布:2025-10-19 02:56:46 浏览:57
ftp服务器地址类型 发布:2025-10-19 02:29:51 浏览:149