“Java 操作 ZooKeeper”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
| 第4行: | 第4行: | ||
==== 导入依赖 ==== | ==== 导入依赖 ==== | ||
| + | <syntaxhighlight lang="xml"> | ||
| + | <dependencies> | ||
| + | |||
| + | <dependency> | ||
| + | <groupId>org.apache.zookeeper</groupId> | ||
| + | <artifactId>zookeeper</artifactId> | ||
| + | <version>3.6.0</version> | ||
| + | </dependency> | ||
| + | |||
| + | <dependency> | ||
| + | <groupId>org.apache.curator</groupId> | ||
| + | <artifactId>curator-recipes</artifactId> | ||
| + | <version>4.0.1</version> | ||
| + | </dependency> | ||
| + | |||
| + | <dependency> | ||
| + | <groupId>junit</groupId> | ||
| + | <artifactId>junit</artifactId> | ||
| + | <version>4.12</version> | ||
| + | <scope>test</scope> | ||
| + | </dependency> | ||
| + | </dependencies> | ||
| + | </syntaxhighlight> | ||
| + | |||
==== 编写连接 ZooKeeper 集群的工具类 ==== | ==== 编写连接 ZooKeeper 集群的工具类 ==== | ||
| + | <syntaxhighlight lang="java"> | ||
| + | package org.example; | ||
| + | |||
| + | import org.apache.curator.RetryPolicy; | ||
| + | import org.apache.curator.framework.CuratorFramework; | ||
| + | import org.apache.curator.framework.CuratorFrameworkFactory; | ||
| + | import org.apache.curator.retry.ExponentialBackoffRetry; | ||
| + | |||
| + | public class ZkUtil { | ||
| + | |||
| + | public static CuratorFramework cf() { | ||
| + | |||
| + | //间隔 3 秒,重试2次之后失败报错 | ||
| + | RetryPolicy retryPolicy = new ExponentialBackoffRetry(3000, 2); | ||
| + | |||
| + | CuratorFramework cf = CuratorFrameworkFactory.builder() | ||
| + | .connectString("192.168.137.200:2181,192.168.137.200:2182,192.168.137.200:2183") | ||
| + | .retryPolicy(retryPolicy) | ||
| + | .build(); | ||
| + | cf.start(); | ||
| + | return cf; | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | </syntaxhighlight> | ||
==== 测试 ==== | ==== 测试 ==== | ||
2022年8月17日 (三) 11:01的版本
Java 连接 ZooKeeper
创建 Maven 工程
导入依赖
<dependencies>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
编写连接 ZooKeeper 集群的工具类
package org.example;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
public class ZkUtil {
public static CuratorFramework cf() {
//间隔 3 秒,重试2次之后失败报错
RetryPolicy retryPolicy = new ExponentialBackoffRetry(3000, 2);
CuratorFramework cf = CuratorFrameworkFactory.builder()
.connectString("192.168.137.200:2181,192.168.137.200:2182,192.168.137.200:2183")
.retryPolicy(retryPolicy)
.build();
cf.start();
return cf;
}
}