diff --git a/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java b/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java index c46105641d4d718733a1140a69f2e8dce18e93df..41128dd995905a1b765e98e88b710ffcaf238d5b 100644 --- a/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java +++ b/common/src/main/java/org/dromara/dynamictp/common/properties/DtpProperties.java @@ -188,6 +188,10 @@ public class DtpProperties { private String node; private String configKey; + + private String scheme; + + private String auth; } /** diff --git a/starter/starter-configcenter/starter-zookeeper/src/main/java/org/dromara/dynamictp/starter/zookeeper/util/CuratorUtil.java b/starter/starter-configcenter/starter-zookeeper/src/main/java/org/dromara/dynamictp/starter/zookeeper/util/CuratorUtil.java index d71f240043ed478badeb3fc9120d84f60d78e2d3..c68148270308eb94e3c0d1d4ff39c3cf469a0607 100644 --- a/starter/starter-configcenter/starter-zookeeper/src/main/java/org/dromara/dynamictp/starter/zookeeper/util/CuratorUtil.java +++ b/starter/starter-configcenter/starter-zookeeper/src/main/java/org/dromara/dynamictp/starter/zookeeper/util/CuratorUtil.java @@ -37,6 +37,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.CountDownLatch; +import cn.hutool.core.text.CharSequenceUtil; import static org.dromara.dynamictp.common.em.ConfigFileTypeEnum.JSON; import static org.dromara.dynamictp.common.em.ConfigFileTypeEnum.PROPERTIES; @@ -59,8 +60,14 @@ public class CuratorUtil { public static CuratorFramework getCuratorFramework(DtpProperties dtpProperties) { if (curatorFramework == null) { DtpProperties.Zookeeper zookeeper = dtpProperties.getZookeeper(); - curatorFramework = CuratorFrameworkFactory.newClient(zookeeper.getZkConnectStr(), - new ExponentialBackoffRetry(1000, 3)); + CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory + .builder() + .connectString(zookeeper.getZkConnectStr()) + .retryPolicy(new ExponentialBackoffRetry(1000, 3)); + if (CharSequenceUtil.isAllNotBlank(zookeeper.getScheme(), zookeeper.getAuth())){ + builder.authorization(zookeeper.getScheme(), zookeeper.getAuth().getBytes()); + } + curatorFramework = builder.build(); final ConnectionStateListener connectionStateListener = (client, newState) -> { if (newState == ConnectionState.CONNECTED) { COUNT_DOWN_LATCH.countDown();