• 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
  • 相关阅读:
    Mysql面试题(100+)
    电商项目之购物车
    通过Xshell操作Jetson Nx
    简单的网页制作期末作业——电影泰坦尼克号(4页)
    代码随想录算法训练营第六十五天 | 岛屿数量 深搜、岛屿数量 广搜、岛屿的最大面积
    Allegro软件Shape菜单下的每个命令的含义
    Huggingface transformers 里的模型加载的两种方式的写法
    c语言基础:L1-052 2018我们要赢
    OpenCV 环境变量参考
    【数据结构】二叉搜索树
  • 原文地址:https://blog.csdn.net/weixin_42594143/article/details/134554403