You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by al...@apache.org on 2021/05/24 10:22:58 UTC

[dubbo-samples] branch master updated: Fix 3.0 config (#318)

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

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new e05f776  Fix 3.0 config (#318)
e05f776 is described below

commit e05f77601c5376263319361635394b7ce664e903
Author: Gong Dewei <ky...@qq.com>
AuthorDate: Mon May 24 18:22:51 2021 +0800

    Fix 3.0 config (#318)
    
    * fix provider props
    
    * improve config
    
    * add nacos docker-compose
    
    * remove external config props
    
    * improve protocol config
    
    * fix dubbo-samples-context tests
    
    * improve dubbo build scripts in workflows
    
    * fix compile error
    
    * compatible with 3.0 dev branch
    
    * fix dubbo-samples-metadata-report-configcenter configs compatibility
---
 .github/workflows/dubbo-2.yml                      | 12 ++-----
 .github/workflows/dubbo-3.yml                      | 12 ++-----
 .github/workflows/nightly-dubbo-2.yml              | 12 ++-----
 .github/workflows/nightly-dubbo-3.yml              | 12 ++-----
 .../resources/META-INF/spring/async-provider.xml   |  2 +-
 .../main/resources/spring/dubbo-demo-provider.xml  |  2 +-
 .../main/resources/spring/dubbo-demo-provider.xml  |  2 +-
 .../dubbo/samples/context/ContextServiceIT.java    |  2 +-
 .../main/resources/spring/dubbo-demo-provider.xml  |  2 +-
 .../main/resources/spring/dubbo-demo-provider.xml  |  2 +-
 .../configcenter/MetadataConfigcenterProvider.java | 28 ++++++++++++----
 .../metadatareport/configcenter/ZKTools.java       | 38 ++++++++++++++++++----
 .../local/properties/MetadataIT.java               |  7 ++++
 .../dubbo/samples/governance/DemoServiceIT.java    |  6 ++++
 .../src/test/resources/docker/docker-compose.yml   | 14 ++++++++
 .../src/main/resources/spring/provider.xml         |  2 +-
 .../SimpleRegistryPropertiesProvider.java          | 14 ++++++++
 17 files changed, 112 insertions(+), 57 deletions(-)

diff --git a/.github/workflows/dubbo-2.yml b/.github/workflows/dubbo-2.yml
index d0fba63..a0bbc87 100644
--- a/.github/workflows/dubbo-2.yml
+++ b/.github/workflows/dubbo-2.yml
@@ -28,7 +28,6 @@ env:
     spring-boot.version:2.4.1;
     '
   DUBBO_REF: 'master'
-  DUBBO_SPRING_BOOT_REF: '2.7.x'
 
 jobs:
   build-samples:
@@ -65,20 +64,16 @@ jobs:
         with:
           repository: 'apache/dubbo'
           ref: ${{env.DUBBO_REF}}
-          path: dubbo
       - name: Get commit id and dubbo version
         id: git-checker
         run: |
           # Calculate Dubbo Version
-          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' dubbo/pom.xml`
+          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' pom.xml`
           echo "::set-output name=version::$REVISION"
           echo "dubbo version: $REVISION"
           #
-          #concat dubbo/dubbo-spring-boot commit id
-          cd dubbo
-          dubbo_commit_id=`git log --format="%H" -n 1`
-          cd ..
-          commit_id=$dubbo_commit_id
+          # commit id
+          commit_id=`git log --format="%H" -n 1`
           echo "::set-output name=commit_id::$commit_id"
           echo "commit_id: $commit_id"
       - name: Dubbo cache
@@ -103,7 +98,6 @@ jobs:
       - name: Build dubbo
         if: steps.dubbocache.outputs.cache-hit != 'true'
         run: |
-          cd dubbo
           ./mvnw --batch-mode --no-transfer-progress  clean install -Dmaven.test.skip=true -Dmaven.test.skip.exec=true
 
   prepare_test:
diff --git a/.github/workflows/dubbo-3.yml b/.github/workflows/dubbo-3.yml
index 614a543..d80dd60 100644
--- a/.github/workflows/dubbo-3.yml
+++ b/.github/workflows/dubbo-3.yml
@@ -28,7 +28,6 @@ env:
     spring-boot.version:2.4.1;
     '
   DUBBO_REF: '3.0'
-  DUBBO_SPRING_BOOT_REF: '3.0.x'
 
 jobs:
   build-samples:
@@ -65,20 +64,16 @@ jobs:
         with:
           repository: 'apache/dubbo'
           ref: ${{env.DUBBO_REF}}
-          path: dubbo
       - name: Get commit id and dubbo version
         id: git-checker
         run: |
           # Calculate Dubbo Version
-          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' dubbo/pom.xml`
+          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' pom.xml`
           echo "::set-output name=version::$REVISION"
           echo "dubbo version: $REVISION"
           #
-          #concat dubbo/dubbo-spring-boot commit id
-          cd dubbo
-          dubbo_commit_id=`git log --format="%H" -n 1`
-          cd ..
-          commit_id=$dubbo_commit_id
+          # commit id
+          commit_id=`git log --format="%H" -n 1`
           echo "::set-output name=commit_id::$commit_id"
           echo "commit_id: $commit_id"
       - name: Dubbo cache
@@ -103,7 +98,6 @@ jobs:
       - name: Build dubbo
         if: steps.dubbocache.outputs.cache-hit != 'true'
         run: |
-          cd dubbo
           ./mvnw --batch-mode --no-transfer-progress  clean install -Dmaven.test.skip=true -Dmaven.test.skip.exec=true
 
   prepare_test:
diff --git a/.github/workflows/nightly-dubbo-2.yml b/.github/workflows/nightly-dubbo-2.yml
index 9ac1075..8e87748 100644
--- a/.github/workflows/nightly-dubbo-2.yml
+++ b/.github/workflows/nightly-dubbo-2.yml
@@ -29,7 +29,6 @@ env:
     spring-boot.version: 2.0.9.RELEASE, 2.1.18.RELEASE, 2.2.12.RELEASE, 2.3.7.RELEASE, 2.4.1
     '
   DUBBO_REF: 'master'
-  DUBBO_SPRING_BOOT_REF: '2.7.x'
 
 jobs:
   build-samples:
@@ -68,20 +67,16 @@ jobs:
         with:
           repository: 'apache/dubbo'
           ref: ${{env.DUBBO_REF}}
-          path: dubbo
       - name: Get commit id and dubbo version
         id: git-checker
         run: |
           # Calculate Dubbo Version
-          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' dubbo/pom.xml`
+          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' pom.xml`
           echo "::set-output name=version::$REVISION"
           echo "dubbo version: $REVISION"
           #
-          #concat dubbo/dubbo-spring-boot commit id
-          cd dubbo
-          dubbo_commit_id=`git log --format="%H" -n 1`
-          cd ..
-          commit_id=$dubbo_commit_id
+          # commit id
+          commit_id=`git log --format="%H" -n 1`
           echo "::set-output name=commit_id::$commit_id"
           echo "commit_id: $commit_id"
       - name: Dubbo cache
@@ -106,7 +101,6 @@ jobs:
       - name: Build dubbo
         if: steps.dubbocache.outputs.cache-hit != 'true'
         run: |
-          cd dubbo
           ./mvnw --batch-mode --no-transfer-progress  clean install -Dmaven.test.skip=true -Dmaven.test.skip.exec=true
 
   prepare_test:
diff --git a/.github/workflows/nightly-dubbo-3.yml b/.github/workflows/nightly-dubbo-3.yml
index 6ab06f2..6ea60df 100644
--- a/.github/workflows/nightly-dubbo-3.yml
+++ b/.github/workflows/nightly-dubbo-3.yml
@@ -28,7 +28,6 @@ env:
     spring-boot.version: 2.0.9.RELEASE, 2.1.18.RELEASE, 2.2.12.RELEASE, 2.3.7.RELEASE, 2.4.1
     '
   DUBBO_REF: '3.0'
-  DUBBO_SPRING_BOOT_REF: '3.0.x'
 
 jobs:
   build-samples:
@@ -67,20 +66,16 @@ jobs:
         with:
           repository: 'apache/dubbo'
           ref: ${{env.DUBBO_REF}}
-          path: dubbo
       - name: Get commit id and dubbo version
         id: git-checker
         run: |
           # Calculate Dubbo Version
-          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' dubbo/pom.xml`
+          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' pom.xml`
           echo "::set-output name=version::$REVISION"
           echo "dubbo version: $REVISION"
           #
-          #concat dubbo/dubbo-spring-boot commit id
-          cd dubbo
-          dubbo_commit_id=`git log --format="%H" -n 1`
-          cd ..
-          commit_id=$dubbo_commit_id
+          # commit id
+          commit_id=`git log --format="%H" -n 1`
           echo "::set-output name=commit_id::$commit_id"
           echo "commit_id: $commit_id"
       - name: Dubbo cache
@@ -105,7 +100,6 @@ jobs:
       - name: Build dubbo
         if: steps.dubbocache.outputs.cache-hit != 'true'
         run: |
-          cd dubbo
           ./mvnw --batch-mode --no-transfer-progress  clean install -Dmaven.test.skip=true -Dmaven.test.skip.exec=true
 
   prepare_test:
diff --git a/dubbo-samples-async/dubbo-samples-async-original-future/src/main/resources/META-INF/spring/async-provider.xml b/dubbo-samples-async/dubbo-samples-async-original-future/src/main/resources/META-INF/spring/async-provider.xml
index f49edc5..3be2523 100644
--- a/dubbo-samples-async/dubbo-samples-async-original-future/src/main/resources/META-INF/spring/async-provider.xml
+++ b/dubbo-samples-async/dubbo-samples-async-original-future/src/main/resources/META-INF/spring/async-provider.xml
@@ -29,7 +29,7 @@
 
     <dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
 
-    <dubbo:protocol port="20880"/>
+    <dubbo:protocol name="dubbo" port="20880"/>
 
     <bean id="asyncService" class="org.apache.dubbo.samples.async.impl.AsyncServiceImpl"/>
 
diff --git a/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml
index 4e9ada7..d7fbd81 100644
--- a/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml
+++ b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml
@@ -28,7 +28,7 @@
     <!-- optional provider's application name, used for tracing dependency relationship -->
     <dubbo:application name="chain-backend-app"/>
     <dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
-    <dubbo:protocol port="20880"/>
+    <dubbo:protocol name="dubbo" port="20880"/>
 
     <dubbo:config-center address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
 
diff --git a/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml
index 7563e55..9d0de98 100644
--- a/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml
+++ b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml
@@ -29,7 +29,7 @@
     <!-- optional provider's application name, used for tracing dependency relationship -->
     <dubbo:application name="chain-middle-app"/>
     <dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
-    <dubbo:protocol port="20881"/>
+    <dubbo:protocol name="dubbo" port="20881"/>
 
     <dubbo:config-center address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
 
diff --git a/dubbo-samples-context/src/test/java/org/apache/dubbo/samples/context/ContextServiceIT.java b/dubbo-samples-context/src/test/java/org/apache/dubbo/samples/context/ContextServiceIT.java
index 6421ad9..c4690a4 100644
--- a/dubbo-samples-context/src/test/java/org/apache/dubbo/samples/context/ContextServiceIT.java
+++ b/dubbo-samples-context/src/test/java/org/apache/dubbo/samples/context/ContextServiceIT.java
@@ -27,7 +27,7 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = {"classpath*:/spring/dubbo-context-consumer.xml", "classpath*:/spring/dubbo-context-provider.xml"})
+@ContextConfiguration(locations = {"classpath*:/spring/dubbo-context-consumer.xml"})
 public class ContextServiceIT {
 
     @Autowired
diff --git a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml
index fdea9ca..1f9a890 100644
--- a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml
+++ b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml
@@ -28,7 +28,7 @@
     <dubbo:application name="governance-appoverride-provider"/>
 
     <dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
-    <dubbo:protocol port="${dubbo.port:20880}"/>
+    <dubbo:protocol name="dubbo" port="${dubbo.port:20880}"/>
 
     <bean id="demoService" class="org.apache.dubbo.samples.governance.impl.DemoServiceImpl"/>
     <dubbo:service interface="org.apache.dubbo.samples.governance.api.DemoService" ref="demoService"/>
diff --git a/dubbo-samples-governance/dubbo-samples-configconditionrouter/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-governance/dubbo-samples-configconditionrouter/src/main/resources/spring/dubbo-demo-provider.xml
index fed3425..a4ac995 100644
--- a/dubbo-samples-governance/dubbo-samples-configconditionrouter/src/main/resources/spring/dubbo-demo-provider.xml
+++ b/dubbo-samples-governance/dubbo-samples-configconditionrouter/src/main/resources/spring/dubbo-demo-provider.xml
@@ -29,7 +29,7 @@
 
     <dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
 
-    <dubbo:protocol port="${dubbo.port:-1}"/>
+    <dubbo:protocol name="dubbo" port="${dubbo.port:-1}"/>
 
     <dubbo:config-center highest-priority="false" address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
 
diff --git a/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/MetadataConfigcenterProvider.java b/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/MetadataConfigcenterProvider.java
index 2c918ab..b9e5783 100644
--- a/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/MetadataConfigcenterProvider.java
+++ b/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/MetadataConfigcenterProvider.java
@@ -20,6 +20,7 @@
 package org.apache.dubbo.samples.metadatareport.configcenter;
 
 
+import org.apache.dubbo.common.Version;
 import org.apache.dubbo.common.constants.CommonConstants;
 import org.apache.dubbo.config.ProviderConfig;
 import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
@@ -32,19 +33,25 @@ import org.springframework.context.annotation.PropertySource;
 
 import java.util.concurrent.CountDownLatch;
 
+import static org.apache.dubbo.samples.metadatareport.configcenter.ZKTools.VERSION300;
+
 public class MetadataConfigcenterProvider {
 
     public static void main(String[] args) throws Exception {
         new EmbeddedZooKeeper(2181, false).start();
-        ZKTools.generateDubboProperties();
 
-        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ProviderConfiguration.class);
-        context.start();
+        try {
+            ZKTools.generateDubboProperties();
+            AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ProviderConfiguration.class);
+            context.start();
 
-        printServiceData();
+            printServiceData();
 
-        System.out.println("dubbo service started");
-        new CountDownLatch(1).await();
+            System.out.println("dubbo service started");
+            new CountDownLatch(1).await();
+        } finally {
+            ZKTools.removeDubboProperties();
+        }
     }
 
     @Configuration
@@ -54,7 +61,14 @@ public class MetadataConfigcenterProvider {
         @Bean
         public ProviderConfig providerConfig() {
             ProviderConfig providerConfig = new ProviderConfig();
-            providerConfig.setId("id"); //FIXME, spring bean id 'providerConfig' should not be used as dubbo id.
+            // compatible with dubbo 2.7.x
+            if (Version.getIntVersion(Version.getVersion()) < VERSION300) {
+                // avoid using spring bean id 'providerConfig' as dubbo config id.
+                providerConfig.setId("my-provider");
+            } else {
+                //TODO remove the following line after merging dubbo 3.0 config refactor pr
+                providerConfig.setId("my-provider");
+            }
             providerConfig.setTimeout(1000);
             return providerConfig;
         }
diff --git a/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/ZKTools.java b/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/ZKTools.java
index a8be01e..0134f60 100644
--- a/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/ZKTools.java
+++ b/dubbo-samples-metadata-report/dubbo-samples-metadata-report-configcenter/src/main/java/org/apache/dubbo/samples/metadatareport/configcenter/ZKTools.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.samples.metadatareport.configcenter;
 
+import org.apache.dubbo.common.Version;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.metadata.report.identifier.KeyTypeEnum;
 import org.apache.dubbo.metadata.report.identifier.MetadataIdentifier;
@@ -27,15 +28,21 @@ import org.apache.curator.retry.ExponentialBackoffRetry;
 import static org.apache.dubbo.common.constants.CommonConstants.PATH_SEPARATOR;
 
 public class ZKTools {
+    public static final String GLOBAL_DUBBO_PROPERTIES_PATH = "/dubbo/config/dubbo/dubbo.properties";
+    public static final String CONSUMER_DUBBO_PROPERTIES_PATH = "/dubbo/config/metadatareport-configcenter-consumer/dubbo.properties";
+    public static final String PROVIDER_DUBBO_PROPERTIES_PATH = "/dubbo/config/metadatareport-configcenter-provider/dubbo.properties";
     private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
     private static CuratorFramework client;
 
+    public static final int VERSION300 = Version.getIntVersion("3.0.0");
+
     static {
         initClient();
     }
 
     public static void main(String[] args) throws Exception {
         generateDubboProperties();
+        removeDubboProperties();
     }
 
     public static void generateDubboProperties() {
@@ -56,13 +63,22 @@ public class ZKTools {
                 "#global config for consumer\n" +
                 "dubbo.consumer.timeout=6000\n" +
                 "#global config for provider\n" +
-                "dubbo.protocol.port=20831\n" +
-                "dubbo.provider.id.timeout=5000";
+                "dubbo.protocol.port=20831\n";
+
+        if (Version.getIntVersion(Version.getVersion()) >= VERSION300) {
+            // dubbo 3.x
+            str += "dubbo.provider.timeout=5000\n";
+            // TODO compatible with 3.0 preview and dev branch, remove the following line after merging dubbo 3.0 config refactor pr
+            str += "dubbo.provider.my-provider.timeout=5000";
+        } else {
+            // compatible with dubbo 2.7.x
+            str += "dubbo.provider.my-provider.timeout=5000";
+        }
 
         System.out.println(str);
 
         try {
-            String path = "/dubbo/config/dubbo/dubbo.properties";
+            String path = GLOBAL_DUBBO_PROPERTIES_PATH;
             if (client.checkExists().forPath(path) == null) {
                 client.create().creatingParentsIfNeeded().forPath(path);
             }
@@ -78,7 +94,7 @@ public class ZKTools {
         System.out.println(str);
 
         try {
-            String path = "/dubbo/config/metadatareport-configcenter-consumer/dubbo.properties";
+            String path = CONSUMER_DUBBO_PROPERTIES_PATH;
             if (client.checkExists().forPath(path) == null) {
                 client.create().creatingParentsIfNeeded().forPath(path);
             }
@@ -95,7 +111,7 @@ public class ZKTools {
         System.out.println(str);
 
         try {
-            String path = "/dubbo/config/metadatareport-configcenter-provider/dubbo.properties";
+            String path = PROVIDER_DUBBO_PROPERTIES_PATH;
             if (client.checkExists().forPath(path) == null) {
                 client.create().creatingParentsIfNeeded().forPath(path);
             }
@@ -141,12 +157,20 @@ public class ZKTools {
         return root + PATH_SEPARATOR;
     }
 
-    private static void removeGlobalConfig() {
+    public static void removeDubboProperties() {
         try {
-            client.delete().forPath("/dubbo/config/dubbo/dubbo.properties");
+            client.delete().forPath(GLOBAL_DUBBO_PROPERTIES_PATH);
+            client.delete().forPath(PROVIDER_DUBBO_PROPERTIES_PATH);
+            client.delete().forPath(CONSUMER_DUBBO_PROPERTIES_PATH);
+            client.delete().forPath(getParent(PROVIDER_DUBBO_PROPERTIES_PATH));
+            client.delete().forPath(getParent(CONSUMER_DUBBO_PROPERTIES_PATH));
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
+    private static String getParent(String path) {
+        return path.substring(0, PROVIDER_DUBBO_PROPERTIES_PATH.lastIndexOf('/'));
+    }
+
 }
diff --git a/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/src/test/java/org/apache/dubbo/samples/metadatareport/local/properties/MetadataIT.java b/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/src/test/java/org/apache/dubbo/samples/metadatareport/local/properties/MetadataIT.java
index 42f5c93..2253f58 100644
--- a/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/src/test/java/org/apache/dubbo/samples/metadatareport/local/properties/MetadataIT.java
+++ b/dubbo-samples-metadata-report/dubbo-samples-metadata-report-local-properties/src/test/java/org/apache/dubbo/samples/metadatareport/local/properties/MetadataIT.java
@@ -24,6 +24,7 @@ import org.apache.dubbo.samples.metadatareport.local.properties.api.DemoService;
 
 import com.google.gson.Gson;
 import org.junit.Assert;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,12 @@ import java.util.Map;
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(locations = {"classpath:/spring/metadata-consumer.xml"})
 public class MetadataIT {
+
+    @BeforeClass
+    public static void beforeClass() {
+        //new EmbeddedZooKeeper(2181, false).start();
+    }
+
     @Autowired
     private DemoService demoService;
 
diff --git a/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/java/org/apache/dubbo/samples/governance/DemoServiceIT.java b/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/java/org/apache/dubbo/samples/governance/DemoServiceIT.java
index bc9b435..c287968 100644
--- a/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/java/org/apache/dubbo/samples/governance/DemoServiceIT.java
+++ b/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/java/org/apache/dubbo/samples/governance/DemoServiceIT.java
@@ -21,11 +21,17 @@ import org.apache.dubbo.rpc.RpcException;
 import org.apache.dubbo.samples.governance.api.DemoService;
 import org.apache.dubbo.samples.governance.util.NacosUtils;
 import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class DemoServiceIT {
 
+    @Before
+    public void beforeTest() {
+        //DubboBootstrap.reset();
+    }
+
     @Test(expected = RpcException.class)
     public void testWithoutRule() throws Throwable {
         ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:/spring/dubbo-demo-consumer.xml");
diff --git a/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/resources/docker/docker-compose.yml b/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/resources/docker/docker-compose.yml
new file mode 100644
index 0000000..1f18759
--- /dev/null
+++ b/dubbo-samples-nacos/dubbo-samples-nacos-override/src/test/resources/docker/docker-compose.yml
@@ -0,0 +1,14 @@
+version: '2.4'
+
+services:
+  nacos:
+    image: nacos/nacos-server:2.0.0
+    hostname: nacos
+    environment:
+      - PREFER_HOST_MODE=hostname
+      - MODE=standalone
+      - JVM_XMS=350m
+      - JVM_XMX=350m
+      - JVM_XMN=150m
+    ports:
+    - 8848:8848
diff --git a/dubbo-samples-protobuf-json/protobuf-json-serialization-demo/src/main/resources/spring/provider.xml b/dubbo-samples-protobuf-json/protobuf-json-serialization-demo/src/main/resources/spring/provider.xml
index 046e7d0..188b7f4 100644
--- a/dubbo-samples-protobuf-json/protobuf-json-serialization-demo/src/main/resources/spring/provider.xml
+++ b/dubbo-samples-protobuf-json/protobuf-json-serialization-demo/src/main/resources/spring/provider.xml
@@ -30,7 +30,7 @@
     <dubbo:metadata-report address="zookeeper://${zookeeper.address:127.0.0.1}:2181" cycle-report="false"
                            retry-period="4590" sync-report="true" retry-times="23"/>
 
-    <dubbo:protocol serialization="x-protobuf"/>
+    <dubbo:protocol name="dubbo" serialization="x-protobuf"/>
     <bean id="demoService" class="org.apache.dubbo.sample.protobuf.provider.GoogleProtobufServiceImpl"/>
     <dubbo:service interface="org.apache.dubbo.sample.protobuf.GoogleProtobufService" ref="demoService"/>
 
diff --git a/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/src/main/java/org/apache/dubbo/samples/simplified/registry/properties/SimpleRegistryPropertiesProvider.java b/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/src/main/java/org/apache/dubbo/samples/simplified/registry/properties/SimpleRegistryPropertiesProvider.java
index 27a096e..fdd73c4 100644
--- a/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/src/main/java/org/apache/dubbo/samples/simplified/registry/properties/SimpleRegistryPropertiesProvider.java
+++ b/dubbo-samples-simplified-registry/dubbo-samples-simplified-registry-properties/src/main/java/org/apache/dubbo/samples/simplified/registry/properties/SimpleRegistryPropertiesProvider.java
@@ -33,9 +33,14 @@ import static org.apache.dubbo.common.constants.CommonConstants.RELEASE_KEY;
  */
 public class SimpleRegistryPropertiesProvider {
 
+    private static final String ZOOKEEPER_ADDRESS = "zookeeper.address";
+    private static final String ZOOKEEPER_PORT = "zookeeper.port";
+
     public static void main(String[] args) throws Exception {
         new EmbeddedZooKeeper(2181, false).start();
 
+        initProperties();
+
         ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/simplified-provider.xml");
         context.start();
 
@@ -45,6 +50,15 @@ public class SimpleRegistryPropertiesProvider {
         new CountDownLatch(1).await();
     }
 
+    private static void initProperties() {
+        if (System.getProperty(ZOOKEEPER_ADDRESS) == null) {
+            System.setProperty(ZOOKEEPER_ADDRESS, "127.0.0.1");
+        }
+        if (System.getProperty(ZOOKEEPER_PORT) == null) {
+            System.setProperty(ZOOKEEPER_PORT, "2181");
+        }
+    }
+
     private static void printServiceData() {
         List<String> urls = ZkUtil.getChildren(ZkUtil.toUrlPath("providers"));
         System.out.println("*********************************************************");

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org