首页>代码>SpringBoot2整合Apache Zookeeper集群管理、负载均衡功能代码>/zookeeper-demo1/src/main/java/com/test/config/ZookeeperConfig.java
package com.test.config; import javax.annotation.PostConstruct; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * zookeeper连接配置 * @author 程就人生 * @date 2020年1月13日 */ @Configuration public class ZookeeperConfig { //zookeeper连接地址 @Value("${zookeeper.register.address}") private String strZkAddress; //连接初始时间 @Value("${zookeeper.base.sleep.time.ms}") private int strBaseSleepTimeMs; //重试次数 @Value("${zookeeper.max.retries}") private int strMaxRetries; @Value("${zookeeper.register.node}") private String strManagerPath; @Value("${zookeeper.register.pathPrefix}") private String strPathPrefix; public static String managerPath; public static String pathPrefix; public static String zkAddress; private static int baseSleepTimeMs; private static int maxRetries; /** * 静态变量初始化,postContruct的作用 * 需要执行的方法,在完成依赖项注入后,执行任何初始化 * 这里用于从配置文件里获取配置,同时保证CuratorFramework只有一个实例 */ @PostConstruct private void init(){ zkAddress = strZkAddress; baseSleepTimeMs = strBaseSleepTimeMs; maxRetries = strMaxRetries; managerPath = strManagerPath; pathPrefix = strPathPrefix; } /** * 创建CuratorFramework实例,全局唯一 * @return CuratorFramework 实例 */ public static CuratorFramework createInstance(){ // 重试策略:第一次重试等待1s,第二次重试等待2s,第三次重试等待4s // 第一个参数:等待时间的基础单位,单位为毫秒 // 第二个参数:最大重试次数 ExponentialBackoffRetry retryPolicy = new ExponentialBackoffRetry(baseSleepTimeMs, maxRetries); // 第一个参数:zk的连接地址 // 第二个参数:重试策略 CuratorFramework curatorFramework = CuratorFrameworkFactory.newClient(zkAddress, retryPolicy); return curatorFramework; } /** * 非全局唯一,获取节点用,于上面的不同 * initMethod字段表示,start()方法在createInstance()方法执行完毕后执行 * @return CuratorFramework 实例 */ @Bean(value="zkClient",initMethod="start") public CuratorFramework createInstance1(){ // 重试策略:第一次重试等待1s,第二次重试等待2s,第三次重试等待4s // 第一个参数:等待时间的基础单位,单位为毫秒 // 第二个参数:最大重试次数 ExponentialBackoffRetry retryPolicy = new ExponentialBackoffRetry(baseSleepTimeMs, maxRetries); // 第一个参数:zk的连接地址 // 第二个参数:重试策略 CuratorFramework curatorFramework = CuratorFrameworkFactory.newClient(zkAddress, retryPolicy); return curatorFramework; } }
最近下载更多
最近浏览更多
xianyu091012 LV4
11月18日
fellowfun LV12
2023年9月1日
心如止水 LV17
2023年8月15日
yzshabzbbdvw LV4
2023年6月3日
lironggang LV38
2023年3月28日
zxc131313 LV12
2023年2月2日
bibibi234 LV1
2022年12月5日
xiaoyuer2 LV8
2022年11月20日
Hachi6 LV13
2022年9月19日
别胡思乱想啦
2022年6月18日
暂无贡献等级