“Java 操作 ZooKeeper”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第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;
    }

}

测试