创建了一个SpringBoot项目,引入pom依赖

     <!--zookeeper--><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.2.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-client</artifactId><version>4.2.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.2.0</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions></dependency>

配置application.yml属性

curator:#重试次数maxRetries: 3#重试间隔时间baseSleepTimeMs: 1000# zookeeper 地址 多个可用逗号分隔127.0.0.1:2181,127.0.0.1:2182connectString: 192.168.106.128:2181# session超时时间sessionTimeoutMs: 60000# 连接超时时间connectionTimeoutMs: 5000path: /distributed-lock

配置注入Bean

package com.example.zkConfig;import lombok.Data;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.RetryNTimes;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Data
@Configuration
public class ZookeeperConfig {@Value("${curator.maxRetries}")private int maxRetries;@Value("${curator.baseSleepTimeMs}")private int baseSleepTimeMs;@Value("${curator.connectString}")private String connectString;@Value("${curator.sessionTimeoutMs}")private int sessionTimeoutMs;@Value("${curator.connectionTimeoutMs}")private int connectionTimeoutMs;@Value("${curator.path}")private String path;//调用start初始化方法@Bean(initMethod = "start")public CuratorFramework curatorFramework(){return CuratorFrameworkFactory.newClient(this.connectString,this.sessionTimeoutMs,this.connectionTimeoutMs,new RetryNTimes(this.maxRetries,this.connectionTimeoutMs));}
}

测试文件ZkTest一些基本操作

package com.example;import org.apache.curator.framework.CuratorFramework;
import org.apache.zookeeper.CreateMode;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class ZkTest {@Autowiredprivate CuratorFramework curatorFramework;@Testpublic void test1() throws Exception {//创建持久节点
//        String s = curatorFramework.create().forPath("/test-node1");
//        创建临时序号节点String s = curatorFramework.create().withMode(CreateMode.EPHEMERAL_SEQUENTIAL).forPath("/test-node2", "abc".getBytes());System.out.println(s);}@Testpublic void test2() throws Exception {//获取节点的数据byte[] bytes = curatorFramework.getData().forPath("/test-node1");System.out.println(new String(bytes));}@Testpublic void test3() throws Exception {//修改节点的数据curatorFramework.setData().forPath("/test-node1","你好".getBytes());//获取节点的数据byte[] bytes = curatorFramework.getData().forPath("/test-node1");System.out.println(new String(bytes));}@Testpublic void test4() throws Exception {//创建若父节点不存在则先创建父节点String s = curatorFramework.create().creatingParentsIfNeeded().forPath("/node-parent/node-1");System.out.println(s);}@Testpublic void test5() throws Exception {//删除父节点 子节点存在也一并删除curatorFramework.delete().guaranteed().deletingChildrenIfNeeded().forPath("/node-parent");}}

5.zookeeper集成Java项目curator客户端相关推荐

  1. 【自撰】zooKeeper 集成 Java代码

    导入maven依赖 <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zoo ...

  2. Zookeeper整合JAVA应用之Curator开源客户端使用案例

    Curator是Netflix公司开源的一套ZooKeeper客户端框架,和ZkClient一样它解决了非常底层的细节开发工作,包括连接.重连.反复注册Watcher的问题以及NodeExistsEx ...

  3. Zookeeper的java客户端Curator

    Zookeeper的java客户端Curator 常见的zookeeper java API: Curator API 常用操作 建立连接 添加节点 删除节点 修改节点 查询节点 watch事件监听 ...

  4. Zookeeper分布式一致性原理(七):Curator客户端

    1. Curator简介 Curator是Netfix公司开源的一套Zookeeper客户端.Curator解决了很多Zookeeper客户端非常底层的细节开发工作,包括重连.反复注册Watcher和 ...

  5. ZooKeeper :Java客户端Watcher API介绍

    ZooKeeper :Java客户端Watcher API介绍 在上一篇博客中,博主给大家介绍了Java客户端的Session.ACL以及Znode API: ZooKeeper :Java客户端Se ...

  6. zookeeper curator客户端之增删改查

    zookeeper curator客户端之增删改查 zookeeper安装:https://www.cnblogs.com/zwcry/p/10272506.html curator客户端是Apach ...

  7. ZooKeeper学习总结(2)——ZooKeeper开源Java客户端ZkClient使用

    zkclient是zookeeper的Java客户端.它让Zookeeper API 使用起来更简单:它非常方便订阅各种事件并自动重新绑定事件(会话建立.节点修改.节点删除.子节点变更等):它提供了s ...

  8. java pipeline 实现_Docker+Jenkins+Pipeline实现持续集成(二)java项目构建

    插件推荐 插件名 作用 Blue Ocean Jenkins2.7以后可安装,是Jenkins的一种新视图,能够通过图形化的界面创建和编辑Jenkinsfile,实现pipeline as code ...

  9. MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

    MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...

最新文章

  1. android stub.asinterface是什么意思
  2. 【笔记】顺序存储结构求二叉树深度
  3. 在html中加动画效果,html5中css3新添加的动画效果
  4. cobol to java_cobol to java
  5. linux将汇编转为机器码,汇编语言 高级语言 机器语言 本地代码
  6. linux nand 坏块_NAND Flash的坏块管理设计
  7. Wine 0.9.37
  8. 人人想健康!但,健康的,最主要因素,是什么?
  9. 在wamp里面配置feehicms
  10. Redis3.0--集群安装部署
  11. IEC 60335-1家用电器的安全标准及安规寿命检测设备
  12. Canny算子中的非极大值抑制(Non-Maximum Suppression)分析
  13. 面试题目之:为什么选择veu?与其他框架对比的优势和劣势?
  14. SAP 信息记录条件 无法维护多个条件
  15. ROS学习笔记4_订阅者Subscriber
  16. VS2022无法启动程序,系统找不到指定文件
  17. jvm 性能调优之 jmap
  18. C# 中的委托和事件[转自http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html]
  19. 搬砖: web音频流转发之音视频直播
  20. lisp+等高线点线矛盾检查_基于AutoCAD平台地形图高程点与等高线点线矛盾检测方法研究与实现...

热门文章

  1. 计算机组成与体系结构——计算机体系结构分类-Flynn——2020.11.19
  2. weka+em算法+java使用_WEKA学习笔记2 - lyle_5的个人页面 - OSCHINA - 中文开源技术交流社区...
  3. SAD SATD的区别及应用
  4. 注册微信公众号需要哪些材料?
  5. ADB模拟点击、滑动事件
  6. k8s——flannel网络
  7. 3分钟了解阿里云自营建站服务。
  8. 笔记本电脑无法进入睡眠状态_电脑进入睡眠模式后无法唤醒的原因解析
  9. VmWare12 遭win11程序兼容性助手阻止运行的解决方法
  10. Odoo16 主题推荐