如何检查 Zookeeper 服务器是否已使用 Curator 启动?

How to check that Zookeeper server is started using Curator?

对于我的测试,我正在使用测试 Zookeeper 服务器,但我希望能够等到服务器完全启动(因为我将其作为测试初始化​​过程的一部分启动)。

如何使用 Curator 清楚地检查(测试)Zookeeper 服务器是否正确启动?某种形式的 ping/etc?

我找到了答案并想分享。

Curator 有一个方法 blockUntilConnected,它将等待直到它从 Zookeeper 获得连接。

CuratorFramework curator = CuratorFrameworkFactory.newClient("localhost:" + TestConstants.TEST_ZOOKEEPER_PORT, new RetryOneTime(100));
curator.start();
curator.blockUntilConnected();