You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2022/01/11 12:04:55 UTC

[dubbo] branch 3.0 updated: Try to remove curator5 module (#9559)

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 1b31bb5  Try to remove curator5 module (#9559)
1b31bb5 is described below

commit 1b31bb55514486d423fdaff44bccb74181867462
Author: ken.lj <ke...@gmail.com>
AuthorDate: Tue Jan 11 20:04:14 2022 +0800

    Try to remove curator5 module (#9559)
---
 ...RegistryCenterDubboProtocolIntegrationTest.java |   3 +
 dubbo-config/dubbo-config-spring/pom.xml           |   6 -
 .../dubbo-configcenter-zookeeper/pom.xml           |   5 -
 dubbo-dependencies-bom/pom.xml                     |  10 ++
 dubbo-distribution/dubbo-all/pom.xml               |   8 -
 dubbo-distribution/dubbo-bom/pom.xml               |   5 -
 dubbo-registry/dubbo-registry-zookeeper/pom.xml    |   5 -
 .../dubbo-remoting-zookeeper-curator5/pom.xml      |  63 -------
 ...e.dubbo.remoting.zookeeper.ZookeeperTransporter |   1 -
 .../support/AbstractZookeeperTransporterTest.java  | 189 ---------------------
 dubbo-remoting/dubbo-remoting-zookeeper/pom.xml    |   6 -
 .../curator}/Curator5ZookeeperClient.java          |  14 +-
 .../curator}/Curator5ZookeeperTransporter.java     |   2 +-
 ...e.dubbo.remoting.zookeeper.ZookeeperTransporter |   1 +
 .../curator}/Curator5ZookeeperClientTest.java      |   2 +-
 .../curator}/Curator5ZookeeperTransporterTest.java |   2 +-
 dubbo-remoting/pom.xml                             |   1 -
 dubbo-test/dubbo-test-check/pom.xml                |  20 ++-
 .../dubbo/test/spring/SpringXmlConfigTest.java     |   3 +
 pom.xml                                            |  10 --
 20 files changed, 44 insertions(+), 312 deletions(-)

diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
index 290c863..3b5ec69 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/SingleRegistryCenterDubboProtocolIntegrationTest.java
@@ -45,6 +45,8 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledForJreRange;
+import org.junit.jupiter.api.condition.JRE;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,6 +61,7 @@ import static org.apache.dubbo.rpc.Constants.SCOPE_REMOTE;
 /**
  * This abstraction class will implement some methods as base for single registry center.
  */
+@DisabledForJreRange(min = JRE.JAVA_16)
 public class SingleRegistryCenterDubboProtocolIntegrationTest implements IntegrationTest {
 
     private static final Logger logger = LoggerFactory.getLogger(SingleRegistryCenterDubboProtocolIntegrationTest.class);
diff --git a/dubbo-config/dubbo-config-spring/pom.xml b/dubbo-config/dubbo-config-spring/pom.xml
index 645c029..7df9344 100644
--- a/dubbo-config/dubbo-config-spring/pom.xml
+++ b/dubbo-config/dubbo-config-spring/pom.xml
@@ -195,12 +195,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
-            <version>${project.parent.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-recipes</artifactId>
             <scope>test</scope>
diff --git a/dubbo-configcenter/dubbo-configcenter-zookeeper/pom.xml b/dubbo-configcenter/dubbo-configcenter-zookeeper/pom.xml
index 99d578a..db4c1e4 100644
--- a/dubbo-configcenter/dubbo-configcenter-zookeeper/pom.xml
+++ b/dubbo-configcenter/dubbo-configcenter-zookeeper/pom.xml
@@ -38,11 +38,6 @@
             <artifactId>dubbo-remoting-zookeeper</artifactId>
             <version>${project.parent.version}</version>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>org.apache.dubbo</groupId>-->
-<!--            <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>-->
-<!--            <version>${project.parent.version}</version>-->
-<!--        </dependency>-->
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml
index ef8b7f2..32c1dc5 100644
--- a/dubbo-dependencies-bom/pom.xml
+++ b/dubbo-dependencies-bom/pom.xml
@@ -759,6 +759,16 @@
 
     <profiles>
         <profile>
+            <id>curator5</id>
+            <activation>
+                <jdk>[1.17,)</jdk>
+            </activation>
+            <properties>
+                <zookeeper_version>3.7.0</zookeeper_version>
+                <curator_version>5.1.0</curator_version>
+            </properties>
+        </profile>
+        <profile>
             <id>release</id>
             <build>
                 <plugins>
diff --git a/dubbo-distribution/dubbo-all/pom.xml b/dubbo-distribution/dubbo-all/pom.xml
index 5eb590e..52ec971 100644
--- a/dubbo-distribution/dubbo-all/pom.xml
+++ b/dubbo-distribution/dubbo-all/pom.xml
@@ -89,13 +89,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
-            <version>${project.version}</version>
-            <scope>compile</scope>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-rpc-api</artifactId>
             <version>${project.version}</version>
             <scope>compile</scope>
@@ -417,7 +410,6 @@
                                     <include>org.apache.dubbo:dubbo-remoting-http</include>
                                     <include>org.apache.dubbo:dubbo-remoting-netty4</include>
                                     <include>org.apache.dubbo:dubbo-remoting-netty</include>
-                                    <include>org.apache.dubbo:dubbo-remoting-zookeeper-curator5</include>
                                     <include>org.apache.dubbo:dubbo-remoting-zookeeper</include>
                                     <include>org.apache.dubbo:dubbo-remoting</include>
                                     <include>org.apache.dubbo:dubbo-rpc-api</include>
diff --git a/dubbo-distribution/dubbo-bom/pom.xml b/dubbo-distribution/dubbo-bom/pom.xml
index eb698c4..d885d44 100644
--- a/dubbo-distribution/dubbo-bom/pom.xml
+++ b/dubbo-distribution/dubbo-bom/pom.xml
@@ -95,11 +95,6 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.dubbo</groupId>
                 <artifactId>dubbo-rpc-api</artifactId>
                 <version>${project.version}</version>
             </dependency>
diff --git a/dubbo-registry/dubbo-registry-zookeeper/pom.xml b/dubbo-registry/dubbo-registry-zookeeper/pom.xml
index 0fb6675..48caaf0 100644
--- a/dubbo-registry/dubbo-registry-zookeeper/pom.xml
+++ b/dubbo-registry/dubbo-registry-zookeeper/pom.xml
@@ -41,11 +41,6 @@
             <version>${project.parent.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-x-discovery</artifactId>
         </dependency>
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/pom.xml b/dubbo-remoting/dubbo-remoting-zookeeper-curator5/pom.xml
deleted file mode 100644
index 6209329..0000000
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.dubbo</groupId>
-        <artifactId>dubbo-remoting</artifactId>
-        <version>${revision}</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <artifactId>dubbo-remoting-zookeeper-curator5</artifactId>
-    <packaging>jar</packaging>
-    <name>${project.artifactId}</name>
-    <description>The zookeeper curator5 remoting module of dubbo project</description>
-    <properties>
-        <skip_maven_deploy>false</skip_maven_deploy>
-        <curator5_version>5.1.0</curator5_version>
-        <zookeeper_version>3.7.0</zookeeper_version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-remoting-api</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-common</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>${curator5_version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-recipes</artifactId>
-            <version>${curator5_version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>${zookeeper_version}</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter b/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter
deleted file mode 100644
index 5c998c7..0000000
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter
+++ /dev/null
@@ -1 +0,0 @@
-curator5=org.apache.dubbo.remoting.zookeeper.curator5.Curator5ZookeeperTransporter
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/support/AbstractZookeeperTransporterTest.java b/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/support/AbstractZookeeperTransporterTest.java
deleted file mode 100644
index 0f43c0d..0000000
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/support/AbstractZookeeperTransporterTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.remoting.zookeeper.curator5.support;
-
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.remoting.zookeeper.AbstractZookeeperTransporter;
-import org.apache.dubbo.remoting.zookeeper.ZookeeperClient;
-import org.apache.dubbo.remoting.zookeeper.curator5.Curator5ZookeeperTransporter;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.util.List;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.IsNot.not;
-import static org.hamcrest.core.IsNull.nullValue;
-
-/**
- * AbstractZookeeperTransporterTest
- */
-public class AbstractZookeeperTransporterTest {
-    private ZookeeperClient zookeeperClient;
-    private AbstractZookeeperTransporter abstractZookeeperTransporter;
-
-    private static int zookeeperServerPort1, zookeeperServerPort2;
-    private static String zookeeperConnectionAddress1, zookeeperConnectionAddress2;
-
-    @BeforeAll
-    public static void beforeAll() {
-        zookeeperConnectionAddress1 = System.getProperty("zookeeper.connection.address.1");
-        zookeeperConnectionAddress2 = System.getProperty("zookeeper.connection.address.2");
-        zookeeperServerPort1 = Integer.parseInt(zookeeperConnectionAddress1.substring(zookeeperConnectionAddress1.lastIndexOf(":") + 1));
-        zookeeperServerPort2 = Integer.parseInt(zookeeperConnectionAddress2.substring(zookeeperConnectionAddress2.lastIndexOf(":") + 1));
-    }
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        zookeeperClient = new Curator5ZookeeperTransporter().connect(URL.valueOf(zookeeperConnectionAddress1 + "/service"));
-        abstractZookeeperTransporter = new Curator5ZookeeperTransporter();
-    }
-
-    @Test
-    public void testZookeeperClient() {
-        assertThat(zookeeperClient, not(nullValue()));
-        zookeeperClient.close();
-    }
-
-    @Test
-    public void testGetURLBackupAddress() {
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?backup=127.0.0.1:" + 9099 + "&application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        List<String> stringList = abstractZookeeperTransporter.getURLBackupAddress(url);
-        Assertions.assertEquals(stringList.size(), 2);
-        Assertions.assertEquals(stringList.get(0), "127.0.0.1:" + zookeeperServerPort1);
-        Assertions.assertEquals(stringList.get(1), "127.0.0.1:9099");
-    }
-
-    @Test
-    public void testGetURLBackupAddressNoBack() {
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        List<String> stringList = abstractZookeeperTransporter.getURLBackupAddress(url);
-        Assertions.assertEquals(stringList.size(), 1);
-        Assertions.assertEquals(stringList.get(0), "127.0.0.1:" + zookeeperServerPort1);
-    }
-
-    @Test
-    public void testFetchAndUpdateZookeeperClientCache() throws Exception {
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?backup=127.0.0.1:" + zookeeperServerPort1 + ",127.0.0.1:" + zookeeperServerPort2 + "&application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        ZookeeperClient newZookeeperClient = abstractZookeeperTransporter.connect(url);
-        //just for connected
-        newZookeeperClient.getContent("/dubbo/test");
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort1), newZookeeperClient);
-
-        URL url2 = URL.valueOf("zookeeper://127.0.0.1:" + zookeeperServerPort1 + "/org.apache.dubbo.metadata.store.MetadataReport?address=zookeeper://127.0.0.1:2181&application=metadatareport-local-xml-provider2&cycle-report=false&interface=org.apache.dubbo.metadata.store.MetadataReport&retry-period=4590&retry-times=23&sync-report=true");
-        checkFetchAndUpdateCacheNotNull(url2);
-        URL url3 = URL.valueOf("zookeeper://127.0.0.1:8778/org.apache.dubbo.metadata.store.MetadataReport?backup=127.0.0.1:" + zookeeperServerPort2 + "&address=zookeeper://127.0.0.1:2181&application=metadatareport-local-xml-provider2&cycle-report=false&interface=org.apache.dubbo.metadata.store.MetadataReport&retry-period=4590&retry-times=23&sync-report=true");
-        checkFetchAndUpdateCacheNotNull(url3);
-    }
-
-    private void checkFetchAndUpdateCacheNotNull(URL url) {
-        List<String> addressList = abstractZookeeperTransporter.getURLBackupAddress(url);
-        ZookeeperClient zookeeperClient = abstractZookeeperTransporter.fetchAndUpdateZookeeperClientCache(addressList);
-        Assertions.assertNotNull(zookeeperClient);
-    }
-
-    @Test
-    public void testRepeatConnect() {
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        URL url2 = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.metadata.store.MetadataReport?address=zookeeper://127.0.0.1:2181&application=metadatareport-local-xml-provider2&cycle-report=false&interface=org.apache.dubbo.metadata.store.MetadataReport&retry-period=4590&retry-times=23&sync-report=true");
-        ZookeeperClient newZookeeperClient = abstractZookeeperTransporter.connect(url);
-        //just for connected
-        newZookeeperClient.getContent("/dubbo/test");
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 1);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort1), newZookeeperClient);
-        Assertions.assertTrue(newZookeeperClient.isConnected());
-
-        ZookeeperClient newZookeeperClient2 = abstractZookeeperTransporter.connect(url2);
-        //just for connected
-        newZookeeperClient2.getContent("/dubbo/test");
-        Assertions.assertEquals(newZookeeperClient, newZookeeperClient2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 1);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort1), newZookeeperClient);
-    }
-
-    @Test
-    public void testNotRepeatConnect() throws Exception {
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        URL url2 = URL.valueOf(zookeeperConnectionAddress2 + "/org.apache.dubbo.metadata.store.MetadataReport?address=zookeeper://127.0.0.1:2181&application=metadatareport-local-xml-provider2&cycle-report=false&interface=org.apache.dubbo.metadata.store.MetadataReport&retry-period=4590&retry-times=23&sync-report=true");
-        ZookeeperClient newZookeeperClient = abstractZookeeperTransporter.connect(url);
-        //just for connected
-        newZookeeperClient.getContent("/dubbo/test");
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 1);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort1), newZookeeperClient);
-
-        ZookeeperClient newZookeeperClient2 = abstractZookeeperTransporter.connect(url2);
-        //just for connected
-        newZookeeperClient2.getContent("/dubbo/test");
-        Assertions.assertNotEquals(newZookeeperClient, newZookeeperClient2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort2), newZookeeperClient2);
-
-    }
-
-    @Test
-    public void testRepeatConnectForBackUpAdd() throws Exception {
-
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?backup=127.0.0.1:" + zookeeperServerPort1 + "&application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        URL url2 = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.metadata.store.MetadataReport?backup=127.0.0.1:" + zookeeperServerPort2 + "&address=zookeeper://127.0.0.1:2181&application=metadatareport-local-xml-provider2&cycle-report=false&interface=org.apache.dubbo.metadata.store.MetadataReport&retry-period=4590&retry-times=23&sync-report=true");
-        ZookeeperClient newZookeeperClient = abstractZookeeperTransporter.connect(url);
-        //just for connected
-        newZookeeperClient.getContent("/dubbo/test");
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 1);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort1), newZookeeperClient);
-
-        ZookeeperClient newZookeeperClient2 = abstractZookeeperTransporter.connect(url2);
-        //just for connected
-        newZookeeperClient2.getContent("/dubbo/test");
-        Assertions.assertEquals(newZookeeperClient, newZookeeperClient2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort2), newZookeeperClient2);
-
-    }
-
-    @Test
-    public void testRepeatConnectForNoMatchBackUpAdd() throws Exception {
-
-        URL url = URL.valueOf(zookeeperConnectionAddress1 + "/org.apache.dubbo.registry.RegistryService?backup=127.0.0.1:" + zookeeperServerPort1 + "&application=metadatareport-local-xml-provider2&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=47418&specVersion=2.7.0-SNAPSHOT&timestamp=1547102428828");
-        URL url2 = URL.valueOf(zookeeperConnectionAddress2 + "/org.apache.dubbo.metadata.store.MetadataReport?address=zookeeper://127.0.0.1:2181&application=metadatareport-local-xml-provider2&cycle-report=false&interface=org.apache.dubbo.metadata.store.MetadataReport&retry-period=4590&retry-times=23&sync-report=true");
-        ZookeeperClient newZookeeperClient = abstractZookeeperTransporter.connect(url);
-        //just for connected
-        newZookeeperClient.getContent("/dubbo/test");
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 1);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort1), newZookeeperClient);
-
-        ZookeeperClient newZookeeperClient2 = abstractZookeeperTransporter.connect(url2);
-        //just for connected
-        newZookeeperClient2.getContent("/dubbo/test");
-        Assertions.assertNotEquals(newZookeeperClient, newZookeeperClient2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().size(), 2);
-        Assertions.assertEquals(abstractZookeeperTransporter.getZookeeperClientMap().get("127.0.0.1:" + zookeeperServerPort2), newZookeeperClient2);
-
-    }
-
-    @Test
-    public void testSameHostWithDifferentUser() throws Exception {
-        URL url1 = URL.valueOf("zookeeper://us1:pw1@127.0.0.1:" + zookeeperServerPort1 + "/path1");
-        URL url2 = URL.valueOf("zookeeper://us2:pw2@127.0.0.1:" + zookeeperServerPort1 + "/path2");
-        ZookeeperClient client1 = abstractZookeeperTransporter.connect(url1);
-        ZookeeperClient client2 = abstractZookeeperTransporter.connect(url2);
-        assertThat(client1, not(client2));
-    }
-}
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/pom.xml b/dubbo-remoting/dubbo-remoting-zookeeper/pom.xml
index cc6d9c5..6b587a2 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/pom.xml
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/pom.xml
@@ -28,8 +28,6 @@
     <description>The zookeeper remoting module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
-        <zookeeper_version>3.4.13</zookeeper_version>
-        <curator_version>4.2.0</curator_version>
     </properties>
     <dependencies>
         <dependency>
@@ -45,22 +43,18 @@
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-recipes</artifactId>
-            <version>${curator_version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-framework</artifactId>
-            <version>${curator_version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-x-discovery</artifactId>
-            <version>${curator_version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
-            <version>${zookeeper_version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.slf4j</groupId>
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperClient.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperClient.java
similarity index 95%
rename from dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperClient.java
rename to dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperClient.java
index 047ddd5..4311e1e 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperClient.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperClient.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.dubbo.remoting.zookeeper.curator5;
+package org.apache.dubbo.remoting.zookeeper.curator;
 
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.config.configcenter.ConfigItem;
@@ -257,8 +257,8 @@ public class Curator5ZookeeperClient extends AbstractZookeeperClient<Curator5Zoo
     }
 
     @Override
-    public Curator5ZookeeperClient.CuratorWatcherImpl createTargetChildListener(String path, ChildListener listener) {
-        return new Curator5ZookeeperClient.CuratorWatcherImpl(client, listener, path);
+    public CuratorWatcherImpl createTargetChildListener(String path, ChildListener listener) {
+        return new CuratorWatcherImpl(client, listener, path);
     }
 
     @Override
@@ -273,17 +273,17 @@ public class Curator5ZookeeperClient extends AbstractZookeeperClient<Curator5Zoo
     }
 
     @Override
-    protected Curator5ZookeeperClient.NodeCacheListenerImpl createTargetDataListener(String path, DataListener listener) {
+    protected NodeCacheListenerImpl createTargetDataListener(String path, DataListener listener) {
         return new NodeCacheListenerImpl(client, listener, path);
     }
 
     @Override
-    protected void addTargetDataListener(String path, Curator5ZookeeperClient.NodeCacheListenerImpl nodeCacheListener) {
+    protected void addTargetDataListener(String path, NodeCacheListenerImpl nodeCacheListener) {
         this.addTargetDataListener(path, nodeCacheListener, null);
     }
 
     @Override
-    protected void addTargetDataListener(String path, Curator5ZookeeperClient.NodeCacheListenerImpl nodeCacheListener, Executor executor) {
+    protected void addTargetDataListener(String path, NodeCacheListenerImpl nodeCacheListener, Executor executor) {
         try {
             NodeCache nodeCache = new NodeCache(client, path);
             if (nodeCacheMap.putIfAbsent(path, nodeCache) != null) {
@@ -302,7 +302,7 @@ public class Curator5ZookeeperClient extends AbstractZookeeperClient<Curator5Zoo
     }
 
     @Override
-    protected void removeTargetDataListener(String path, Curator5ZookeeperClient.NodeCacheListenerImpl nodeCacheListener) {
+    protected void removeTargetDataListener(String path, NodeCacheListenerImpl nodeCacheListener) {
         NodeCache nodeCache = nodeCacheMap.get(path);
         if (nodeCache != null) {
             nodeCache.getListenable().removeListener(nodeCacheListener);
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperTransporter.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperTransporter.java
similarity index 95%
rename from dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperTransporter.java
rename to dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperTransporter.java
index 95dcd04..e7d56df 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/main/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperTransporter.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperTransporter.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.dubbo.remoting.zookeeper.curator5;
+package org.apache.dubbo.remoting.zookeeper.curator;
 
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.remoting.zookeeper.AbstractZookeeperTransporter;
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter
index 44f9374..80528a2 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter
@@ -1 +1,2 @@
 curator=org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter
+curator5=org.apache.dubbo.remoting.zookeeper.curator.Curator5ZookeeperTransporter
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperClientTest.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/test/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperClientTest.java
similarity index 99%
rename from dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperClientTest.java
rename to dubbo-remoting/dubbo-remoting-zookeeper/src/test/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperClientTest.java
index 88b99db..81463df 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperClientTest.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/test/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperClientTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.dubbo.remoting.zookeeper.curator5;
+package org.apache.dubbo.remoting.zookeeper.curator;
 
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.remoting.zookeeper.ChildListener;
diff --git a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperTransporterTest.java b/dubbo-remoting/dubbo-remoting-zookeeper/src/test/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperTransporterTest.java
similarity index 97%
rename from dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperTransporterTest.java
rename to dubbo-remoting/dubbo-remoting-zookeeper/src/test/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperTransporterTest.java
index 34fde8f..7454b0a 100644
--- a/dubbo-remoting/dubbo-remoting-zookeeper-curator5/src/test/java/org/apache/dubbo/remoting/zookeeper/curator5/Curator5ZookeeperTransporterTest.java
+++ b/dubbo-remoting/dubbo-remoting-zookeeper/src/test/java/org/apache/dubbo/remoting/zookeeper/curator/Curator5ZookeeperTransporterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.dubbo.remoting.zookeeper.curator5;
+package org.apache.dubbo.remoting.zookeeper.curator;
 
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.remoting.zookeeper.ZookeeperClient;
diff --git a/dubbo-remoting/pom.xml b/dubbo-remoting/pom.xml
index f1c1547..bcf5492 100644
--- a/dubbo-remoting/pom.xml
+++ b/dubbo-remoting/pom.xml
@@ -35,7 +35,6 @@
         <module>dubbo-remoting-http</module>
         <module>dubbo-remoting-netty</module>
         <module>dubbo-remoting-zookeeper</module>
-        <module>dubbo-remoting-zookeeper-curator5</module>
         <module>dubbo-remoting-netty4</module>
     </modules>
 
diff --git a/dubbo-test/dubbo-test-check/pom.xml b/dubbo-test/dubbo-test-check/pom.xml
index e201b63..ff78b0c 100644
--- a/dubbo-test/dubbo-test-check/pom.xml
+++ b/dubbo-test/dubbo-test-check/pom.xml
@@ -32,9 +32,9 @@
         <maven.compiler.source>8</maven.compiler.source>
         <maven.compiler.target>8</maven.compiler.target>
         <skip_maven_deploy>true</skip_maven_deploy>
-        <curator.test.version>5.1.0</curator.test.version>
-        <zookeeper.version>3.6.0</zookeeper.version>
-        <curator5.version>5.1.0</curator5.version>
+        <curator.test.version>4.2.0</curator.test.version>
+        <zookeeper.version>3.4.13</zookeeper.version>
+        <curator5.version>4.2.0</curator5.version>
         <commons.compress.version>1.20</commons.compress.version>
         <junit.platform.launcher.version>1.6.2</junit.platform.launcher.version>
         <commons.exec.version>1.3</commons.exec.version>
@@ -84,4 +84,18 @@
             <version>${async.http.client.version}</version>
         </dependency>
     </dependencies>
+
+    <profiles>
+        <profile>
+            <id>curator5</id>
+            <activation>
+                <jdk>[1.17,)</jdk>
+            </activation>
+            <properties>
+                <curator.test.version>5.1.0</curator.test.version>
+                <zookeeper.version>3.6.0</zookeeper.version>
+                <curator5.version>5.1.0</curator5.version>
+            </properties>
+        </profile>
+    </profiles>
 </project>
diff --git a/dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java b/dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
index 7171b5d..8df53b1 100644
--- a/dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
+++ b/dubbo-test/dubbo-test-spring/src/main/java/org/apache/dubbo/test/spring/SpringXmlConfigTest.java
@@ -27,10 +27,13 @@ import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledForJreRange;
+import org.junit.jupiter.api.condition.JRE;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import static org.apache.dubbo.common.constants.CommonConstants.SHUTDOWN_WAIT_KEY;
 
+@DisabledForJreRange(min = JRE.JAVA_16)
 public class SpringXmlConfigTest {
 
     private static ClassPathXmlApplicationContext providerContext;
diff --git a/pom.xml b/pom.xml
index 0bcf1e8..3e75fb2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -256,16 +256,6 @@
                 <doclint>none</doclint>
             </properties>
         </profile>
-        <profile>
-            <id>curator5</id>
-            <activation>
-                <jdk>[1.17,)</jdk>
-            </activation>
-            <properties>
-                <zookeeper_version>3.7.0</zookeeper_version>
-                <curator_version>5.1.0</curator_version>
-            </properties>
-        </profile>
         <!-- jacoco: mvn validate -Pjacoco  -->
         <profile>
             <id>jacoco</id>