为了便于开发人员进行ZooKeeper的开发与测试,Curator提供了一种启动简易ZooKeeper服务的方法——TestingServer。TestingServer允许开发人员非常方便的启动一个标准的ZooKeeper服务器,并以此来进行一系列的单元测试。TestingServer在Curator的test包中,需要单独依赖以下Maven依赖来获取:

<dependency>

<groupId>org.apache.curator</groupId>

<artifactId>curator-test</artifactId>

<version>2.4.2</version>

</dependency>

        下面示例程序演示了TestingServer的基本使用方法。

public class TestingServer_Sample {

static String path = "/zookeeper";

public static void main(String[] args) throws Exception {

TestingServer server = new TestingServer(2181, new File("/home/admin/zk-book-data"));

CuratorFramework client = CuratorFrameworkFactory.builder().connectionString(server.getConnectString()).sessionTimeoutMs(5000).retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();

client.start();

System.out.println(client.getChildren().forPath(path)):

server.close();

}

}

        TestingServer允许开发人员自定义ZooKeeper服务器对外服务的端口和dataDir路径。如果没有指定dataDir,那么Curator默认会在系统的临时目录java.io.tmpdir中创建一个临时目录来作为数据存储目录。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐