• CuratorFrameworkFactory.builder()方法可配置属性


    CuratorFrameworkFactory.builder()方法可以配置以下属性:

    1. connectString:ZooKeeper服务器的连接字符串。
    2. sessionTimeoutMs:ZooKeeper会话超时时间。
    3. connectionTimeoutMs:ZooKeeper连接超时时间。
    4. retryPolicy:Curator重试策略。
    5. namespace:命名空间。
    6. aclProvider:ACL提供程序。
    7. authorization:授权信息。
    8. compressionProvider:压缩提供程序。
    9. threadFactory:线程工厂。
    10. canBeReadOnly:是否允许客户端在ZooKeeper集群中的所有节点不可用时进入只读模式。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    详情:

    CuratorFrameworkFactory.builder()方法可以配置以下属性:

    1. connectString:ZooKeeper服务的连接字符串,格式为"host1:port1,host2:port2,…",多个节点用逗号分隔。

    2. sessionTimeoutMs:会话超时时间,单位为毫秒。

    3. connectionTimeoutMs:连接超时时间,单位为毫秒。

    4. retryPolicy:重试策略,用于处理连接失败或会话过期等异常情况。常用的重试策略有:

    • ExponentialBackoffRetry:指数退避重试策略,每次重试的时间间隔会越来越长。示例代码:
    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
    
    • 1
    • RetryNTimes:指定重试次数的重试策略。示例代码:
    RetryPolicy retryPolicy = new RetryNTimes(3, 1000);
    
    • 1
    • RetryOneTime:只重试一次的重试策略。示例代码:
    RetryPolicy retryPolicy = new RetryOneTime(1000);
    
    • 1
    1. namespace:命名空间,用于在ZooKeeper上创建一个隔离的节点。示例代码:
    String namespace = "myapp";
    
    • 1
    1. aclProvider:ACL提供者,用于设置ZooKeeper节点的访问控制列表(ACL)。示例代码:
    ACLProvider aclProvider = new DefaultACLProvider();
    
    • 1
    1. authorization:授权信息,用于在连接时进行认证。示例代码:
    String authorization = "username:password";
    
    • 1
    1. threadFactory:线程工厂,用于创建线程。示例代码:
    ThreadFactory threadFactory = Executors.defaultThreadFactory();
    
    • 1

    完整示例代码:

    String connectString = "localhost:2181";
    int sessionTimeoutMs = 5000;
    int connectionTimeoutMs = 5000;
    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
    String namespace = "myapp";
    ACLProvider aclProvider = new DefaultACLProvider();
    String authorization = "username:password";
    ThreadFactory threadFactory = Executors.defaultThreadFactory();
    
    CuratorFramework client = CuratorFrameworkFactory.builder()
        .connectString(connectString)
        .sessionTimeoutMs(sessionTimeoutMs)
        .connectionTimeoutMs(connectionTimeoutMs)
        .retryPolicy(retryPolicy)
        .namespace(namespace)
        .aclProvider(aclProvider)
        .authorization(authorization.getBytes())
        .threadFactory(threadFactory)
        .build();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    Ae 效果:CC Force Motion Blur
    view-design 全局引入与按需引入
    如何长期有效维护客户关系,你真的了解你的客户吗?
    【博学谷学习记录】超强总结,用心分享|架构师-前置知识-Netty网络编程基础
    企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
    文盘Rust -- 给程序加个日志
    Appilot发布:打造面向DevOps场景的开源AI助手
    JUC - 多线程之Callable;集合类线程不安全(二)
    java计算机毕业设计工资管理系统源码+mysql数据库+系统+lw文档+部署
    只出现一次的数字Ⅱ
  • 原文地址:https://blog.csdn.net/weixin_42594143/article/details/134554403