当前位置: 首页 > news >正文

宁波网站推广专业服务家电网站建设费用

宁波网站推广专业服务,家电网站建设费用,做app模板网站有哪些,北京平台网站建设找哪家在Apache Curator中,创建节点时,如果该节点已经存在,并且你的代码没有正确处理这种情况,那么会抛出NodeExistsException异常。这是ZooKeeper客户端库(包括Curator)的常见行为,因为它需要确保Zoo…

在Apache Curator中,创建节点时,如果该节点已经存在,并且你的代码没有正确处理这种情况,那么会抛出`NodeExistsException`异常。这是ZooKeeper客户端库(包括Curator)的常见行为,因为它需要确保ZooKeeper中的每个znode路径是唯一的。

以下是几种处理这种情况的方法:

1. **检查节点是否存在**:在尝试创建节点之前,你可以先检查节点是否存在。如果存在,你可以选择更新节点数据或者捕获异常不做任何操作。

    ```java
    try {
        if (client.checkExists().forPath("/nodePath") == null) {
            client.create().forPath("/nodePath", data);
        } else {
            // 节点已存在,可以选择更新数据或忽略
            client.setData().forPath("/nodePath", newData);
        }
    } catch (NodeExistsException e) {
        // 节点已存在,处理异常
    }
    ```

2. **使用合适的创建模式**:Curator提供了不同的节点创建模式,例如`CreateMode.EPHEMERAL`(临时节点)和`CreateMode.PERSISTENT`(持久节点)。如果你使用`CreateMode.EPHEMERAL_SEQUENTIAL`或`CreateMode.PERSISTENT_SEQUENTIAL`,Curator会自动处理节点名称冲突,通过添加序号来创建一个新的顺序节点。

3. **捕获异常**:在尝试创建节点的代码块中捕获`NodeExistsException`,然后根据业务逻辑决定如何处理。

4. **使用重试机制**:Curator的`RetryPolicy`可以配置重试策略,当发生`NodeExistsException`时,根据配置的策略决定是否重试。

5. **使用`ProtectedEphemeralSequentialCreate`**:如果你使用`create()`方法的`withProtection()`选项,Curator会创建一个保护类型的临时顺序节点。如果尝试创建的节点已经存在,Curator会抛出`NodeExistsException`。

请注意,抛出异常是ZooKeeper和Curator设计的一部分,用于确保数据的一致性和避免意外覆盖或创建重复的节点。正确的异常处理可以使你的应用程序更加健壮和可靠。
 


放代码

@Testpublic void method7() throws Exception {//重试策略RetryPolicy exponentialBackoffRetry = new ExponentialBackoffRetry(1000,3,3000);//创建客户端CuratorFramework client = CuratorFrameworkFactory.newClient("192.168.200.130:2181", 1000, 1000, exponentialBackoffRetry);client.start();CuratorFrameworkState state = client.getState();//检测是否连接正常if (state == CuratorFrameworkState.STARTED) {ExistsBuilder existsBuilder = client.checkExists();//检测节点是否存在,不存在则创建if (existsBuilder.forPath("/testapi") == null) {client.create().forPath("/testapi","good".getBytes());}byte[] bytes = client.getData().forPath("/testapi");System.out.println(new String(bytes));//设置时延5秒关闭Thread.sleep(5000);client.close();} else if (state == CuratorFrameworkState.STOPPED) {System.out.println("没有连接上");}}

http://www.yayakq.cn/news/523907/

相关文章:

  • 服务器如何创建一个网站登录网站定制
  • 嘉兴cms模板建站珠海工商年检到哪个网站做
  • 有没有专门做衣服的网站牡丹江制作网站
  • 装饰工程施工方案做seo网站推广价格
  • 泊头市网站建设公司wordpress 谷歌插件
  • 城市分站cmsreact做门户网站
  • 东营网站建设公司 网络易企业画册设计欣赏
  • 上海网站建设设计公司哪家好百度权重域名
  • 如何衡量网站的价值东莞的网站建设公司哪家好
  • 乡村文化建设网站栏目设置c 网站开发需要什么软件
  • 网站建设及安全规范阿里云域名注册邮箱
  • 企业做网站要登录企业网站管理系统
  • 如何查看网站做没做301跳转微信公众平台导航 wordpress模版
  • 什么网站教你做美食centos 7.2 wordpress
  • 官方网站开发WordPress更新emoji
  • 蓝色系网站南京建设工程信息网站
  • 珠海本地网站htm网页设计
  • 苏州做物流网站电话软件定制公司排名
  • 广州高端网站开发公司seo学徒
  • 郑州直播网站建设公司兰州网站优化seo
  • 用redis加速wordpress网站关键词优化系统
  • 公司网站建设youyi51上海做外贸网站设计
  • 深圳建设银行宝安支行网站苏州网站建设公司排名
  • 做网站首页文件识图找图
  • 做村易通网站站长要收费吗?做蛋糕的英文网站
  • 网站建设开发上线流程网站备案几年备案一次
  • 简单html网站模板网站查询备案服务商
  • 网站建设的主题什么比较好百度小程序怎么做
  • 太原网站域名搭建网站怎么做图片栏目
  • 电子商务网站的规划与分析天元建设集团有限公司公章图片