clean up integration test (#92)

* clean up integration test

* disable game

* disable general/rest

* fix integration test for group

* fix integration test for multi-registry

* add run config for multi-registry

* more run configs and README enhancement

* disable multi-registry

* fix build issue

* increase etcd connection timeout

* enhance docker-compose

* disable etcd from integration test

* disable registry/nacos

* enhance integraton tests

* enhance integration test

* disable consul and etcd

* disable servicediscovery/etcd

* disable tls
diff --git a/.run/attachment/attatchment-test.run.xml b/.run/attachment/attatchment-test.run.xml
new file mode 100644
index 0000000..0278738
--- /dev/null
+++ b/.run/attachment/attatchment-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="attachment-test" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/attachment" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/attachment/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/direct/direct-test.run.xml b/.run/direct/direct-test.run.xml
new file mode 100644
index 0000000..1c19460
--- /dev/null
+++ b/.run/direct/direct-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="direct-test" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/direct" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/direct/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/general/general-dubbo-go-client.run.xml b/.run/general/general-dubbo-go-client.run.xml
new file mode 100644
index 0000000..fd785ac
--- /dev/null
+++ b/.run/general/general-dubbo-go-client.run.xml
@@ -0,0 +1,15 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="general-dubbo-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="general">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo/go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo/go-server/conf/conf/log.yml" />
+    </envs>
+    <kind value="PACKAGE" />
+    <filePath value="$PROJECT_DIR$/general/dubbo/go-client/cmd/client.go" />
+    <package value="github.com/apache/dubbo-go-samples/general/dubbo/go-client/cmd" />
+    <directory value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/general/general-dubbo-go-server.run.xml b/.run/general/general-dubbo-go-server.run.xml
new file mode 100644
index 0000000..27410ec
--- /dev/null
+++ b/.run/general/general-dubbo-go-server.run.xml
@@ -0,0 +1,15 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="general-dubbo-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="general">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$" />
+    <envs>
+      <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo/go-server/conf/log.yml" />
+      <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo/go-server/conf/server.yml" />
+    </envs>
+    <kind value="PACKAGE" />
+    <filePath value="$PROJECT_DIR$/general/dubbo/go-server/cmd/server.go" />
+    <package value="github.com/apache/dubbo-go-samples/general/dubbo/go-server/cmd" />
+    <directory value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/general/general-dubbo-test.run.xml b/.run/general/general-dubbo-test.run.xml
new file mode 100644
index 0000000..c49f3f3
--- /dev/null
+++ b/.run/general/general-dubbo-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="general-dubbo-test" type="GoTestRunConfiguration" factoryName="Go Test" folderName="general">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/general/dubbo" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/general/dubbo/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/general/general-grpc-test.run.xml b/.run/general/general-grpc-test.run.xml
new file mode 100644
index 0000000..3d891f6
--- /dev/null
+++ b/.run/general/general-grpc-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="general-grpc-test" type="GoTestRunConfiguration" factoryName="Go Test" folderName="general">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/general/grpc" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/general/grpc/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/generic/generic-test.run.xml b/.run/generic/generic-test.run.xml
new file mode 100644
index 0000000..35ae913
--- /dev/null
+++ b/.run/generic/generic-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="generic-test" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/generic" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/generic/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/group/group-go-server-group-a-test.run.xml b/.run/group/group-go-server-group-a-test.run.xml
new file mode 100644
index 0000000..44a39a1
--- /dev/null
+++ b/.run/group/group-go-server-group-a-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="group-server-group-a-test" type="GoTestRunConfiguration" factoryName="Go Test" folderName="group">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/group" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server-group-a/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server-group-a/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/group/go-server-group-a/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/group/group-go-server-group-b-test.run.xml b/.run/group/group-go-server-group-b-test.run.xml
new file mode 100644
index 0000000..fb08933
--- /dev/null
+++ b/.run/group/group-go-server-group-b-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="group-server-group-b-test" type="GoTestRunConfiguration" factoryName="Go Test" folderName="group">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/group" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server-group-b/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server-group-b/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/group/go-server-group-b/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/helloworld/helloworld-test.run.xml b/.run/helloworld/helloworld-test.run.xml
new file mode 100644
index 0000000..5f05655
--- /dev/null
+++ b/.run/helloworld/helloworld-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="helloworld-test" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/helloworld" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/helloworld/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/metric/metric-test.run.xml b/.run/metric/metric-test.run.xml
new file mode 100644
index 0000000..f122b83
--- /dev/null
+++ b/.run/metric/metric-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="metric-test" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/metric" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/metric/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/.run/multi-registry/multi-registry-test.run.xml b/.run/multi-registry/multi-registry-test.run.xml
new file mode 100644
index 0000000..48517ad
--- /dev/null
+++ b/.run/multi-registry/multi-registry-test.run.xml
@@ -0,0 +1,17 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="multi-registry-test" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$/multi-registry" />
+    <useCustomBuildTags value="true" />
+    <envs>
+      <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
+      <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+    </envs>
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/multi-registry/go-server/tests/integration" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$" />
+    <method v="2" />
+  </configuration>
+</component>
diff --git a/README.md b/README.md
index 65a5ad7..6b96b5e 100644
--- a/README.md
+++ b/README.md
@@ -6,19 +6,28 @@
 
 * async: An async example.
 * attachment: An attachment example, to show how to use attachment to pass user data from the client to the server.  
-* configcenter: uses of different config centers, including zookeeper, apollo and nacos at present.
-* direct: A direct invocation example.
+* chain: Show an example of calling chain
+* config-api: Use API to config Dubbo-go
+* configcenter: Uses of different config centers, including zookeeper, apollo and nacos at present.
+* context: Use context
+* direct: A direct invocation example
+* docker: Use Docker to package and run Dubbo-go application
 * filter: Some examples of different filter, including custom_filter and tpslimit
+* game: game service example
 * general: A general example
 * generic: A generic invocation example
+* group: Service group
 * helloworld: A 101 example
+* metric: Enable metrics in Dubbo-go application
+* multi-registry: Register services to different registry centers
+* multi-zone: Call Dubbo services from different zones
 * multi_registry: A multi-registry example
 * registry: uses of different registres, including kubernetes, nacos, etcd and service-discovery
 * router: router examples, including condition and tag
 * seata: A seata example
-* shop: Shop sample
+* shopping-center: A complete shopping sample
+* tls: Use TLS in Dubbo-go application
 * tracing: tracing example
-* game: game service example
 
 ## How To Run
 
diff --git a/README_zh.md b/README_zh.md
index 10aee85..ed14a44 100644
--- a/README_zh.md
+++ b/README_zh.md
@@ -6,19 +6,27 @@
 
 * async: 异步调用
 * attachment: 如何通过 attachment 把用户数据从调用方传递给服务方
+* chain: 展示一个简单的调用链
+* config-api: 使用 API 进行配置初始化  
 * configcenter: 使用不同的配置中心,目前支持三种:zookeeper、apollo、和 nacos
+* context: 如何使用上下文  
 * direct: 直连模式
+* docker: 如何使用 docker 打包运行 Dubbo-go 应用  
 * filter: 使用和扩展不同的 filter,目前包含了 custom_filter 和 tpslimit
+* game: 游戏服务例子
 * general: 通用例子,展示 zookeeper 注册中心的使用以及不同的配置项
 * generic: 泛化调用
+* group: 服务分组  
 * helloworld: 入门例子
-* multi_registry: 多注册
+* metric: 在 Dubbo-go 中使用 metrics  
+* multi-registry: 多注册
+* multi-zone: 多区域  
 * registry: 展示与不同注册中心的对接,包含了 nacos、etcd、kubernetes 和 servicediscovery
 * router: 展示了不同的路由,包含了 condition 和 tag
 * seata: 展示了与 seata 的对接
-* shop: 一个在线商店的小例子
+* shopping-center: 一个在线商店的完整的例子
+* tls: 在 Dubbo-go 中使用 TLS
 * tracing: 链路追踪
-* game: 游戏服务例子
 
 ## 如何运行
 
diff --git a/go.mod b/go.mod
index 1f541d7..08c47a4 100644
--- a/go.mod
+++ b/go.mod
@@ -36,4 +36,6 @@
 
 replace github.com/nacos-group/nacos-sdk-go => github.com/nacos-group/nacos-sdk-go v1.0.7-0.20210325111144-d75caca21a46
 
+replace google.golang.org/grpc => google.golang.org/grpc v1.26.0
+
 go 1.13
diff --git a/group/go-server-group-a/conf/client.yml b/group/go-server-group-a/conf/client.yml
index 11ae382..de34b54 100644
--- a/group/go-server-group-a/conf/client.yml
+++ b/group/go-server-group-a/conf/client.yml
@@ -30,6 +30,7 @@
     protocol: "dubbo"
     interface: "org.apache.dubbo.UserProvider"
     cluster: "failover"
+    group: "GroupA"
     methods:
       - name: "GetUser"
         retries: 3
diff --git a/group/go-server-group-a/tests/integration/userprovider_test.go b/group/go-server-group-a/tests/integration/userprovider_test.go
index dc29d9a..3c4661a 100644
--- a/group/go-server-group-a/tests/integration/userprovider_test.go
+++ b/group/go-server-group-a/tests/integration/userprovider_test.go
@@ -32,7 +32,7 @@
 	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
 	assert.Nil(t, err)
 	assert.Equal(t, "A001", user.ID)
-	assert.Equal(t, "Alex Stocks", user.Name)
+	assert.Equal(t, "Alex Stocks In Group A", user.Name)
 	assert.Equal(t, int32(18), user.Age)
 	assert.NotNil(t, user.Time)
 }
diff --git a/group/go-server-group-b/conf/client.yml b/group/go-server-group-b/conf/client.yml
index 11ae382..735fb03 100644
--- a/group/go-server-group-b/conf/client.yml
+++ b/group/go-server-group-b/conf/client.yml
@@ -29,6 +29,7 @@
     registry: "demoZk"
     protocol: "dubbo"
     interface: "org.apache.dubbo.UserProvider"
+    group: "GroupB"
     cluster: "failover"
     methods:
       - name: "GetUser"
diff --git a/group/go-server-group-b/tests/integration/userprovider_test.go b/group/go-server-group-b/tests/integration/userprovider_test.go
index 7183e64..3726251 100644
--- a/group/go-server-group-b/tests/integration/userprovider_test.go
+++ b/group/go-server-group-b/tests/integration/userprovider_test.go
@@ -33,7 +33,7 @@
 	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
 	assert.Nil(t, err)
 	assert.Equal(t, "A001", user.ID)
-	assert.Equal(t, "Alex Stocks", user.Name)
+	assert.Equal(t, "Alex Stocks In Group B", user.Name)
 	assert.Equal(t, int32(18), user.Age)
 	assert.NotNil(t, user.Time)
 }
diff --git a/helloworld/java-client/build.sh b/helloworld/java-client/build.sh
deleted file mode 100644
index c869acf..0000000
--- a/helloworld/java-client/build.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-
-# rm src/main/resources/META-INF/spring/dubbo.consumer.xml
-# cp src/main/resources/META-INF/spring/dubbo-protocol.consumer.xml src/main/resources/META-INF/spring/dubbo.consumer.xml
-# cp src/main/resources/META-INF/spring/jsonrpc-protocol.consumer.xml src/main/resources/META-INF/spring/dubbo.consumer.xml
-mvn clean package -Dmaven.test.skip
diff --git a/helloworld/java-client/pom.xml b/helloworld/java-client/pom.xml
deleted file mode 100644
index 1a333b9..0000000
--- a/helloworld/java-client/pom.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>com.ikurento</groupId>
-    <artifactId>user-info-client</artifactId>
-    <packaging>jar</packaging>
-    <version>0.2.0</version>
-    <description>The demo consumer module of dubbo project</description>
-
-    <properties>
-        <skip_maven_deploy>false</skip_maven_deploy>
-
-        <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version>
-        <dubbo-version>2.6.5</dubbo-version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>com.alibaba</groupId>
-                <artifactId>dubbo-dependencies-bom</artifactId>
-                <version>${dubbo-version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.qianmi</groupId>
-            <artifactId>dubbo-rpc-jsonrpc</artifactId>
-            <version>${dubbo-jsonrpc-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dubbo</artifactId>
-            <version>${dubbo-version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>2.12.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.javassist</groupId>
-            <artifactId>javassist</artifactId>
-            <version>3.20.0-GA</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.netty</groupId>
-            <artifactId>netty</artifactId>
-            <version>3.2.5.Final</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.mina</groupId>
-            <artifactId>mina-core</artifactId>
-            <version>1.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.grizzly</groupId>
-            <artifactId>grizzly-core</artifactId>
-            <version>2.1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.7</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-            <version>1.2.56</version>
-        </dependency>
-        <dependency>
-            <groupId>com.thoughtworks.xstream</groupId>
-            <artifactId>xstream</artifactId>
-            <version>1.4.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.bsf</groupId>
-            <artifactId>bsf-api</artifactId>
-            <version>3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.14</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.sgroschupf</groupId>
-            <artifactId>zkclient</artifactId>
-            <version>0.1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.netflix.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>1.1.16</version>
-        </dependency>
-        <dependency>
-            <groupId>com.googlecode.xmemcached</groupId>
-            <artifactId>xmemcached</artifactId>
-            <version>1.3.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-frontend-simple</artifactId>
-            <version>2.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-transports-http</artifactId>
-            <version>2.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.thrift</groupId>
-            <artifactId>libthrift</artifactId>
-            <version>0.12.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.caucho</groupId>
-            <artifactId>hessian</artifactId>
-            <version>4.0.7</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>2.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>jetty</artifactId>
-            <version>6.1.26</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.16</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.6.2</version>
-        </dependency>
-        <dependency>
-            <groupId>redis.clients</groupId>
-            <artifactId>jedis</artifactId>
-            <version>2.1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.validation</groupId>
-            <artifactId>validation-api</artifactId>
-            <version>1.0.0.GA</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-            <version>4.2.0.Final</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.cache</groupId>
-            <artifactId>cache-api</artifactId>
-            <version>0.4</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>unpack</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>com.alibaba</groupId>
-                                    <artifactId>dubbo</artifactId>
-                                    <version>${dubbo-version}</version>
-                                    <outputDirectory>${project.build.directory}/dubbo</outputDirectory>
-                                    <includes>META-INF/assembly/**</includes>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <descriptor>src/main/assembly/assembly.xml</descriptor>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>make-assembly</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/helloworld/java-client/src/main/assembly/assembly.xml b/helloworld/java-client/src/main/assembly/assembly.xml
deleted file mode 100644
index 21c6863..0000000
--- a/helloworld/java-client/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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.
--->
-
-<assembly>
-    <id>assembly</id>
-    <formats>
-        <format>tar.gz</format>
-    </formats>
-    <includeBaseDirectory>true</includeBaseDirectory>
-    <fileSets>
-        <fileSet>
-            <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory>
-            <outputDirectory>bin</outputDirectory>
-            <fileMode>0755</fileMode>
-        </fileSet>
-        <fileSet>
-            <directory>src/main/resources</directory>
-            <includes>
-                <include>dubbo.properties</include>
-                <include>log4j.*</include>
-            </includes>
-            <outputDirectory>conf</outputDirectory>
-            <fileMode>0644</fileMode>
-        </fileSet>
-    </fileSets>
-    <dependencySets>
-        <dependencySet>
-            <outputDirectory>lib</outputDirectory>
-        </dependencySet>
-    </dependencySets>
-</assembly>
\ No newline at end of file
diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/Consumer.java b/helloworld/java-client/src/main/java/org/apache/dubbo/Consumer.java
deleted file mode 100644
index 0183a67..0000000
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/Consumer.java
+++ /dev/null
@@ -1,60 +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;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-
-public class Consumer {
-    // Define a private variable (Required in Spring)
-    private UserProvider userProvider;
-
-    // Spring DI (Required in Spring)
-    public void setUserProvider(UserProvider u) {
-        this.userProvider = u;
-    }
-
-    public static void main(String[] args) {
-        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo.consumer.xml","META-INF/spring/service.xml");
-        context.start();
-        context.getBean(Consumer.class).start();
-    }
-
-    // Start the entry function for consumer (Specified in the configuration file)
-    public void start() {
-        System.out.println("\n\ntest");
-        testGetUser();
-    }
-
-    private void testGetUser() {
-        try {
-            User user1 = userProvider.GetUser("A003");
-            System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
-                    " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName()
-                    + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
-
-        } catch (Exception e) {
-            System.out.println("*************exception***********");
-            e.printStackTrace();
-        }
-    }
-
-}
diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/User.java b/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
deleted file mode 100644
index 36d1b9c..0000000
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
+++ /dev/null
@@ -1,76 +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;
-
-import java.util.Date;
-
-public class User {
-
-    private String id;
-
-    private String name;
-
-    private int age;
-
-    private Date time = new Date();
-
-
-    public User() {
-    }
-
-
-    public User(String id, String name, int age) {
-        this.id = id;
-        this.name = name;
-        this.age = age;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public int getAge() {
-        return age;
-    }
-
-    public void setAge(int age) {
-        this.age = age;
-    }
-
-    public Date getTime() {
-        return time;
-    }
-
-    public void setTime(Date time) {
-        this.time = time;
-    }
-
-
-}
diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/UserProvider.java b/helloworld/java-client/src/main/java/org/apache/dubbo/UserProvider.java
deleted file mode 100644
index c719124..0000000
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/UserProvider.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed 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;
-
-public interface UserProvider {
-	User GetUser(String userId);
-}
diff --git a/helloworld/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/helloworld/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
deleted file mode 100644
index 95fdcb8..0000000
--- a/helloworld/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
-	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
-
-
-    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
-    <dubbo:application name="user-info-client"/>
-    <!-- 连接到哪个本地注册中心 -->
-    <dubbo:registry id="demoZk" address="zookeeper://127.0.0.1:2181"/>
-    <!-- dubbo.registry.address from dubbo.properties -->
-    <!-- dubbo:registry address="${dubbo.registry.address}" / -->
-
-    <!-- 用dubbo协议在20880端口暴露服务 -->
-    <dubbo:protocol id="dubbo" name="dubbo"/>
-    <dubbo:protocol id="jsonrpc" name="jsonrpc"/>
-
-    <!-- 声明需要使用的服务接口 -->
-    <dubbo:reference registry="demoZk" check="false" id="userProvider" protocol="dubbo"
-                     interface="org.apache.dubbo.UserProvider">
-        <!--<dubbo:parameter key="heartbeat" value="10000"/ -->
-    </dubbo:reference>
-</beans>
diff --git a/helloworld/java-client/src/main/resources/META-INF/spring/service.xml b/helloworld/java-client/src/main/resources/META-INF/spring/service.xml
deleted file mode 100644
index bdcc57f..0000000
--- a/helloworld/java-client/src/main/resources/META-INF/spring/service.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
-    <bean class="org.apache.dubbo.Consumer" init-method="start">
-        <!-- 声明这个类 要使用的服务名-->
-        <property name="userProvider" ref="userProvider"/>
-    </bean>
-
-</beans>
diff --git a/helloworld/java-client/src/main/resources/dubbo.properties b/helloworld/java-client/src/main/resources/dubbo.properties
deleted file mode 100644
index 5ae386d..0000000
--- a/helloworld/java-client/src/main/resources/dubbo.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-### dubboע���������� ###
-dubbo.container=log4j,spring
-dubbo.application.name=user-info-client
-dubbo.application.owner=AlexStocks
-dubbo.application.environment=product
-dubbo.registry.address=zookeeper://127.0.0.1:2181
-dubbo.monitor.protocol=zookeeper
-dubbo.consumer.timeout=10000
-dubbo.provider.timeout=10000
-dubbo.protocol.name=dubbo
-dubbo.log4j.file=logs/client.log
-dubbo.log4j.level=WARN
diff --git a/helloworld/java-client/src/main/resources/log4j.properties b/helloworld/java-client/src/main/resources/log4j.properties
deleted file mode 100644
index 02748ae..0000000
--- a/helloworld/java-client/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-## Logger configure file for myproject
-log.dir=logs/
-datestamp=yyyy-MM-dd/HH:mm:ss.SSS
-log4j.rootLogger=DEBUG, file, console
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.threshold=DEBUG
-log4j.appender.file.File=${log.dir}/log4j.log
-log4j.appender.file.DatePattern=-yyyyMMddHH
-log4j.appender.file.ImmediateFlush=true
-log4j.appender.file.Append=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.Threshold=DEBUG
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
diff --git a/helloworld/java-server/build.sh b/helloworld/java-server/build.sh
deleted file mode 100644
index 7b5755b..0000000
--- a/helloworld/java-server/build.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-
-# mvn dependency:sources
-mvn clean package -Dmaven.test.skip
-# mvn -X clean compile package -DskipTests=true
diff --git a/helloworld/java-server/pom.xml b/helloworld/java-server/pom.xml
deleted file mode 100644
index e299ade..0000000
--- a/helloworld/java-server/pom.xml
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>com.ikurento</groupId>
-    <artifactId>user-info-server</artifactId>
-    <packaging>jar</packaging>
-    <version>0.2.0</version>
-    <description>The demo provider module of dubbo project</description>
-    <properties>
-        <skip_maven_deploy>false</skip_maven_deploy>
-
-        <dubbo-version>2.6.5</dubbo-version>
-        <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>com.alibaba</groupId>
-                <artifactId>dubbo-dependencies-bom</artifactId>
-                <version>${dubbo-version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.25</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>dubbo</artifactId>
-            <version>${dubbo-version}</version>
-            <exclusions>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.curator</groupId>
-            <artifactId>curator-framework</artifactId>
-            <version>2.12.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.qianmi</groupId>
-            <artifactId>dubbo-rpc-jsonrpc</artifactId>
-            <version>${dubbo-jsonrpc-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>jetty</artifactId>
-            <version>6.1.26</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>2.10.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>2.10.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.sgroschupf</groupId>
-            <artifactId>zkclient</artifactId>
-            <version>0.1</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>org.apache.zookeeper</artifactId>
-                    <groupId>zookeeper</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.zookeeper</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>3.4.14</version>
-        </dependency>
-
-    </dependencies>
-
-    <repositories>
-        <repository>
-            <id>nexus-aliyu</id>
-            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-    <pluginRepositories>
-        <pluginRepository>
-            <id>nexus-aliyu</id>
-            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
-
-    <build>
-
-        <plugins>
-            <plugin>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>unpack</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>com.alibaba</groupId>
-                                    <artifactId>dubbo</artifactId>
-                                    <version>${dubbo-version}</version>
-                                    <outputDirectory>${project.build.directory}/dubbo</outputDirectory>
-                                    <includes>META-INF/assembly/**</includes>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>make-assembly</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                        <configuration>
-                            <descriptors>
-                                <descriptor>src/main/assembly/assembly.xml</descriptor>
-                            </descriptors>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-
-</project>
-
-
diff --git a/helloworld/java-server/script/debug.sh b/helloworld/java-server/script/debug.sh
deleted file mode 100644
index 851957a..0000000
--- a/helloworld/java-server/script/debug.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-
-
-# jdb -classpath /Users/alex/tmp/us/conf:/Users/alex/tmp/us/lib/*:/Users/alex/test/java/dubbo/2.5.4/dubbo-remoting/dubbo-remoting-api/src/main/java/ com.alibaba.dubbo.container.Main
-jdb -classpath /Users/alex/tmp/us/conf:/Users/alex/tmp/us/lib/* -sourcepath /Users/alex/test/java/dubbo/2.5.4/dubbo-remoting/dubbo-remoting-api/src/main/java/:/Users/alex/tmp/java-server/src/main/java com.alibaba.dubbo.container.Main
-# jdb stop at com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec:76
-# run
-
diff --git a/helloworld/java-server/src/main/assembly/assembly.xml b/helloworld/java-server/src/main/assembly/assembly.xml
deleted file mode 100644
index 60df0c5..0000000
--- a/helloworld/java-server/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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.
--->
-<assembly>
-    <id>assembly</id>
-    <formats>
-        <format>tar.gz</format>
-    </formats>
-    <includeBaseDirectory>true</includeBaseDirectory>
-    <fileSets>
-        <fileSet>
-            <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory>
-            <outputDirectory>bin</outputDirectory>
-            <fileMode>0755</fileMode>
-            <directoryMode>0755</directoryMode>
-        </fileSet>
-        <fileSet>
-            <directory>src/main/resources</directory>
-            <includes>
-                <include>dubbo.properties</include>
-                <include>log4j.*</include>
-            </includes>
-            <outputDirectory>conf</outputDirectory>
-            <fileMode>0644</fileMode>
-            <directoryMode>0755</directoryMode>
-        </fileSet>
-    </fileSets>
-    <dependencySets>
-        <dependencySet>
-            <outputDirectory>lib</outputDirectory>
-        </dependencySet>
-    </dependencySets>
-</assembly>
\ No newline at end of file
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/Provider.java b/helloworld/java-server/src/main/java/org/apache/dubbo/Provider.java
deleted file mode 100644
index a50220a..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/Provider.java
+++ /dev/null
@@ -1,33 +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;
-
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-public class Provider {
-
-    /**
-     * To get ipv6 address to work, add
-     * System.setProperty("java.net.preferIPv6Addresses", "true");
-     * before running your application.
-     */
-    public static void main(String[] args) throws Exception {
-        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/dubbo.provider.xml"});
-        context.start();
-        System.in.read(); // press any key to exit
-    }
-}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/User.java b/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
deleted file mode 100644
index 8483880..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
+++ /dev/null
@@ -1,86 +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;
-
-import java.util.Date;
-import java.io.Serializable;
-
-public class User implements Serializable  {
-
-    private String id;
-
-    private String name;
-
-    private int age;
-
-    private Date time = new Date();
-
-    public User() {
-    }
-
-    public User(String id, String name, int age) {
-        this.id = id;
-        this.name = name;
-        this.age = age;
-    }
-
-    public User(String id, String name, int age, Date time) {
-        this.id = id;
-        this.name = name;
-        this.age = age;
-        this.time = time;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public int getAge() {
-        return age;
-    }
-
-    public void setAge(int age) {
-        this.age = age;
-    }
-
-    public Date getTime() {
-        return time;
-    }
-
-    public void setTime(Date time) {
-        this.time = time;
-    }
-
-
-
-    public String toString() {
-        return "User{id:" + id + ", name:" + name + ", age:" + age + ", time:" + time +"}";
-    }
-}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProvider.java b/helloworld/java-server/src/main/java/org/apache/dubbo/UserProvider.java
deleted file mode 100644
index d07a757..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProvider.java
+++ /dev/null
@@ -1,24 +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;
-
-public interface UserProvider {
-
-    User GetUser(String userId); // the first alpha is Upper case to compatible with golang.
-
-}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java b/helloworld/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
deleted file mode 100644
index 74a6c09..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
+++ /dev/null
@@ -1,30 +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;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UserProviderImpl implements UserProvider {
-    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); //Output to user-server.log
-
-    public User GetUser(String userId) {
-        return new User(userId, "zhangsan", 18);
-    }
-
-}
diff --git a/helloworld/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/helloworld/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
deleted file mode 100644
index 2d01d66..0000000
--- a/helloworld/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
-	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
-
-    <!-- 应用名 -->
-    <dubbo:application name="user-info-server"/>
-    <!-- 连接到哪个本地注册中心 -->
-    <dubbo:registry id="demoZk" address="zookeeper://127.0.0.1:2181"/>
-    <!-- 用dubbo协议在20880端口暴露服务 -->
-    <!-- dubbo:protocol host="127.0.0.1" / -->
-    <dubbo:protocol id="dubbo" name="dubbo" host="127.0.0.1" port="20010"/>
-    <!-- 声明需要暴露的服务接口 -->
-    <dubbo:service id="aaa" registry="demoZk" timeout="3000" interface="org.apache.dubbo.UserProvider"
-                   ref="demoService"/>
-
-    <bean id="demoService" class="org.apache.dubbo.UserProviderImpl"/>
-
-</beans>
diff --git a/helloworld/java-server/src/main/resources/dubbo.properties b/helloworld/java-server/src/main/resources/dubbo.properties
deleted file mode 100644
index 37df62e..0000000
--- a/helloworld/java-server/src/main/resources/dubbo.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-### dubbo注册中心配置 ##
-dubbo.container=log4j,spring
-dubbo.application.name=user-info-server
-dubbo.application.environment=product
-dubbo.application.owner=AlexStocks
-dubbo.registry.address=127.0.0.1:2181
-dubbo.registry.protocol=zookeeper
-dubbo.consumer.timeout=10000
-dubbo.provider.timeout=10000
-dubbo.protocol.name=dubbo
-dubbo.protocol.port=10000
-dubbo.log4j.file=logs/dubbo.log
-dubbo.log4j.level=INFO
diff --git a/helloworld/java-server/src/main/resources/log4j.properties b/helloworld/java-server/src/main/resources/log4j.properties
deleted file mode 100644
index e2d0517..0000000
--- a/helloworld/java-server/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-## Logger configure file for myproject
-log.dir=logs/
-datestamp=yyyy-MM-dd/HH:mm:ss.SSS
-log4j.rootLogger=DEBUG, file, console
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.threshold=DEBUG
-log4j.appender.file.File=${log.dir}/log4j.log
-log4j.appender.file.DatePattern=-yyyyMMddHH
-log4j.appender.file.ImmediateFlush=true
-log4j.appender.file.Append=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.Threshold=DEBUG
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
-
diff --git a/multi-registry/go-server/conf/client.yml b/multi-registry/go-server/conf/client.yml
index a687de6..3a05a43 100644
--- a/multi-registry/go-server/conf/client.yml
+++ b/multi-registry/go-server/conf/client.yml
@@ -16,19 +16,19 @@
 
 # registry config
 registries:
-  "demoZk1":
+  "zk":
     protocol: "zookeeper"
     timeout: "3s"
     address: "127.0.0.1:2181"
-  "demoZk2":
-    protocol: "zookeeper"
-    timeout: "3s"
-    address: "127.0.0.1:2182"
+  "nacos":
+    protocol: "nacos"
+    timeout	: "3s"
+    address: "127.0.0.1:8848"
 
 # reference config
 references:
   "UserProvider":
-    registry: "demoZk1,demoZk2"
+    registry: "zk,nacos"
     protocol: "dubbo"
     interface: "org.apache.dubbo.UserProvider"
     cluster: "failover"
diff --git a/multi-registry/go-server/tests/integration/main_test.go b/multi-registry/go-server/tests/integration/main_test.go
index 8a49f4f..a6c66da 100644
--- a/multi-registry/go-server/tests/integration/main_test.go
+++ b/multi-registry/go-server/tests/integration/main_test.go
@@ -21,13 +21,13 @@
 
 import (
 	hessian "github.com/apache/dubbo-go-hessian2"
-	"github.com/apache/dubbo-go/config"
-
 	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
 	_ "github.com/apache/dubbo-go/cluster/loadbalance"
 	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
+	"github.com/apache/dubbo-go/config"
 	_ "github.com/apache/dubbo-go/filter/filter_impl"
 	_ "github.com/apache/dubbo-go/protocol/dubbo"
+	_ "github.com/apache/dubbo-go/registry/nacos"
 	_ "github.com/apache/dubbo-go/registry/protocol"
 	_ "github.com/apache/dubbo-go/registry/zookeeper"
 )
diff --git a/registry/etcd/go-server/conf/client.yml b/registry/etcd/go-server/conf/client.yml
index 0832a89..be8270d 100644
--- a/registry/etcd/go-server/conf/client.yml
+++ b/registry/etcd/go-server/conf/client.yml
@@ -18,7 +18,7 @@
 registries:
   "etcd":
     protocol: "etcdv3"
-    timeout: "3s"
+    timeout: "6s"
     address: "127.0.0.1:2379"
     username: ""
     password: ""
diff --git a/registry/etcd/go-server/docker/docker-compose.yml b/registry/etcd/go-server/docker/docker-compose.yml
index 18c9d27..76a483e 100644
--- a/registry/etcd/go-server/docker/docker-compose.yml
+++ b/registry/etcd/go-server/docker/docker-compose.yml
@@ -4,6 +4,8 @@
   etcd:
     image: "quay.io/coreos/etcd:latest"
     container_name: etcd
+    networks:
+      - dubbo
     environment:
       - ETCDCTL_API=3
     command: [
@@ -19,3 +21,7 @@
       - "2379:2379"
       - "2380:2380"
     restart: always
+networks:
+  dubbo:
+    name: dubbo-go-samples
+    driver: bridge
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index 45b387a..1965482 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -14,14 +14,24 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
+
 # async
 array=("async/go-server")
 
+# attachment
+array+=("attachment/go-server")
+
+# config-api
+array+=("config-api/go-server")
+
 # config center
 array+=("configcenter/apollo/go-server")
 array+=("configcenter/nacos/go-server")
 array+=("configcenter/zookeeper/go-server")
 
+# context
+array+=("context/go-server")
+
 # direct
 array+=("direct/go-server")
 
@@ -30,6 +40,10 @@
 array+=("filter/tpslimit/go-server")
 array+=("filter/sentinel/go-server")
 
+# game
+#array+=("game/go-server-game")
+#array+=("game/go-server-gate")
+
 # general
 array+=("general/dubbo/go-server")
 array+=("general/grpc/go-server")
@@ -37,7 +51,11 @@
 #array+=("general/rest/go-server")
 
 # generic
-#array+=("generic/go-server")
+array+=("generic/go-server")
+
+# group
+array+=("group/go-server-group-a")
+array+=("group/go-server-group-b")
 
 # hello world
 array+=("helloworld/go-server")
@@ -48,15 +66,21 @@
 # multi-registry
 #array+=("multi-registry/go-server")
 
+# registry
+#array+=("registry/etcd/go-server")
+#array+=("registry/nacos/go-server")
+#array+=("registry/servicediscovery/consul/go-server")
+#array+=("registry/servicediscovery/etcd/go-server")
+#array+=("registry/servicediscovery/file/go-server")
+#array+=("registry/servicediscovery/nacos/go-server")
+array+=("registry/servicediscovery/zookeeper/go-server")
+
 # router
 #array+=("router/condition/go-server")
 #array+=("router/tag/go-server")
 
-# registry/servicediscovery/zookeeper
-array+=("registry/servicediscovery/zookeeper/go-server")
-# registry/servicediscovery/consul
-#array+=("registry/servicediscovery/consul/go-server")
-
+# tls
+#array+=("tls/go-server")
 
 for((i=0;i<${#array[*]};i++))
 do
@@ -65,4 +89,7 @@
 	if [ $result -gt 0 ]; then
     exit $result
 	fi
-done
\ No newline at end of file
+done
+
+# chain
+# multi-zone
\ No newline at end of file