• 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
  • 相关阅读:
    Java的原子性操作
    分类模型的Top 1和Top 5
    【问题总结】解方程的自由变量怎么选?【记忆向】
    官宣!不藏了~AnyCase 4.0 真“箱”
    2023年9月30日
    简历准备及面试技巧,你应该知道的一切
    学习笔记-SQLi
    MongoDB简明手册
    【学习笔记】空间坐标系旋转与四元数
    gateway 集成 nacos 实现动态路由
  • 原文地址:https://blog.csdn.net/weixin_42594143/article/details/134554403