diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md
index 8cb19f934555..17bc2b3ac33b 100644
--- a/PULL_REQUEST_TEMPLATE.md
+++ b/PULL_REQUEST_TEMPLATE.md
@@ -15,6 +15,6 @@ Follow this checklist to help us incorporate your contribution quickly and easil
- [x] Make sure there is a [GITHUB_issue](https://github.com/apache/incubator-dubbo/issues) field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
- [ ] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when host config not exist #XXX`. Each commit in the pull request should have a meaningful subject line and body.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
-- [ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in [test module](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test).
+- [ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in [dubbo samples](https://github.com/apache/incubator-dubbo-samples) project.
- [ ] Run `mvn clean install -DskipTests=false` & `mvn clean test-compile failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation Guide](https://github.com/apache/incubator-dubbo/wiki/Software-donation-guide).
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/pom.xml b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/pom.xml
deleted file mode 100644
index 0295aaa3990b..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
- dubbo-test-compatibility
- org.apache.dubbo
- ${revision}
-
- 4.0.0
-
- dubbo-test-spring3
-
-
- 3.2.18.RELEASE
-
-
-
-
-
- org.apache.dubbo
- dubbo
-
-
- org.springframework
- spring-context
-
-
-
-
-
- org.apache.dubbo
- dubbo-demo-interface
-
-
-
- org.springframework
- spring-context
- ${spring.version}
-
-
-
-
-
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/Spring3CompatibilityTest.java b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/Spring3CompatibilityTest.java
deleted file mode 100644
index 752be7fc31b9..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/Spring3CompatibilityTest.java
+++ /dev/null
@@ -1,81 +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.test;
-
-import org.apache.dubbo.demo.DemoService;
-import org.apache.dubbo.test.consumer.ConsumerConfiguration;
-import org.apache.dubbo.test.provider.ProviderConfiguration;
-
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.util.Assert;
-
-/**
- * Dubbo compatibility test on Spring 3.2.x
- *
- * @since 2.5.8
- */
-public class Spring3CompatibilityTest {
-
- public static void main(String[] args) {
-
- ConfigurableApplicationContext provider = startupProvider();
-
- ConfigurableApplicationContext consumer = startConsumer();
-
- ConsumerConfiguration consumerConfiguration = consumer.getBean(ConsumerConfiguration.class);
-
- DemoService demoService = consumerConfiguration.getDemoService();
-
- String value = demoService.sayHello("Mercy");
-
- Assert.isTrue("DefaultDemoService - sayHell() : Mercy".equals(value), "Test is failed!");
-
- System.out.println(value);
-
- provider.close();
- consumer.close();
-
- }
-
- private static ConfigurableApplicationContext startupProvider() {
-
- ConfigurableApplicationContext context = startupApplicationContext(ProviderConfiguration.class);
-
- System.out.println("Startup Provider ...");
-
- return context;
- }
-
- private static ConfigurableApplicationContext startConsumer() {
-
- ConfigurableApplicationContext context = startupApplicationContext(ConsumerConfiguration.class);
-
- System.out.println("Startup Consumer ...");
-
- return context;
-
- }
-
- private static ConfigurableApplicationContext startupApplicationContext(Class>... annotatedClasses) {
- AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
- context.register(annotatedClasses);
- context.refresh();
- return context;
- }
-
-}
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/consumer/ConsumerConfiguration.java b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/consumer/ConsumerConfiguration.java
deleted file mode 100644
index 7026ef33400f..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/consumer/ConsumerConfiguration.java
+++ /dev/null
@@ -1,46 +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.test.consumer;
-
-import org.apache.dubbo.config.annotation.Reference;
-import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan;
-import org.apache.dubbo.demo.DemoService;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.ImportResource;
-
-/**
- * Consumer {@Link Configuration}
- *
- * @since 2.5.8
- */
-@Configuration
-@ImportResource("META-INF/spring/dubbo-consumer.xml")
-@DubboComponentScan
-public class ConsumerConfiguration {
-
- @Reference(version = "2.5.8", url = "dubbo://127.0.0.1:12345")
- private DemoService demoService;
-
- public DemoService getDemoService() {
- return demoService;
- }
-
- public void setDemoService(DemoService demoService) {
- this.demoService = demoService;
- }
-}
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/provider/DefaultDemoService.java b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/provider/DefaultDemoService.java
deleted file mode 100644
index 7c747717ef9d..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/provider/DefaultDemoService.java
+++ /dev/null
@@ -1,40 +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.test.provider;
-
-import org.apache.dubbo.config.annotation.Service;
-import org.apache.dubbo.demo.DemoService;
-
-/**
- * Default {@link DemoService} implementation
- *
- * @since 2.5.8
- */
-@Service(
- version = "2.5.8",
- application = "dubbo-annotation-provider",
- protocol = "dubbo",
- registry = "my-registry"
-)
-public class DefaultDemoService implements DemoService {
-
- @Override
- public String sayHello(String name) {
- return "DefaultDemoService - sayHell() : " + name;
- }
-
-}
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/provider/ProviderConfiguration.java b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/provider/ProviderConfiguration.java
deleted file mode 100644
index d959e5445167..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/java/org/apache/dubbo/test/provider/ProviderConfiguration.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.test.provider;
-
-import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.ImportResource;
-
-/**
- * Provider {@Link Configuration}
- *
- * @since 2.5.8
- */
-@Configuration
-@ImportResource("META-INF/spring/dubbo-provider.xml")
-@DubboComponentScan
-public class ProviderConfiguration {
-}
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/resources/META-INF/spring/dubbo-consumer.xml b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/resources/META-INF/spring/dubbo-consumer.xml
deleted file mode 100644
index 7a00ab3e00e0..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/resources/META-INF/spring/dubbo-consumer.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/resources/META-INF/spring/dubbo-provider.xml b/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/resources/META-INF/spring/dubbo-provider.xml
deleted file mode 100644
index aa012e0aef27..000000000000
--- a/dubbo-test/dubbo-test-compatibility/dubbo-test-spring3/src/main/resources/META-INF/spring/dubbo-provider.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dubbo-test/dubbo-test-compatibility/pom.xml b/dubbo-test/dubbo-test-compatibility/pom.xml
deleted file mode 100644
index d3c178d06859..000000000000
--- a/dubbo-test/dubbo-test-compatibility/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
- 4.0.0
-
- dubbo-test-spring3
-
-
- org.apache.dubbo
- dubbo-test
- ${revision}
-
- dubbo-test-compatibility
- pom
- ${project.artifactId}
- The technology compatibility kit(TCK) test module of dubbo project
-
-
- true
-
-
-
-
-
-
-
- org.apache.dubbo
- dubbo
- ${project.parent.version}
-
-
-
-
- org.apache.dubbo
- dubbo-demo-interface
- ${project.parent.version}
-
-
-
-
-
-
diff --git a/dubbo-test/dubbo-test-integration/pom.xml b/dubbo-test/dubbo-test-integration/pom.xml
deleted file mode 100644
index f9e0794d2904..000000000000
--- a/dubbo-test/dubbo-test-integration/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
- 4.0.0
-
- org.apache.dubbo
- dubbo-test
- ${revision}
-
- dubbo-test-integration
- jar
- ${project.artifactId}
- The showcase test module of dubbo project
-
- true
-
-
-
-
-
- ${basedir}/src/main/java
-
- **/*.java
-
-
-
- ${basedir}/src/main/resources
-
-
-
-
-
\ No newline at end of file
diff --git a/dubbo-test/pom.xml b/dubbo-test/pom.xml
deleted file mode 100644
index 4c8e19d9802d..000000000000
--- a/dubbo-test/pom.xml
+++ /dev/null
@@ -1,227 +0,0 @@
-
-
- 4.0.0
-
- org.apache.dubbo
- dubbo-parent
- ${revision}
-
- dubbo-test
- pom
- ${project.artifactId}
- The test module of dubbo project
-
- true
-
-
- dubbo-test-compatibility
- dubbo-test-integration
-
-
-
-
-
- org.apache.dubbo
- dubbo-bom
- ${project.parent.version}
- pom
- import
-
-
-
-
-
-
- org.apache.dubbo
- dubbo-cluster
-
-
- org.apache.dubbo
- dubbo-common
-
-
- org.apache.dubbo
- dubbo-config-api
-
-
- org.apache.dubbo
- dubbo-config-spring
-
-
- org.apache.dubbo
- dubbo-filter-cache
-
-
- org.apache.dubbo
- dubbo-filter-validation
-
-
- org.apache.dubbo
- dubbo-remoting-netty
-
-
- org.apache.dubbo
- dubbo-remoting-netty4
-
-
- org.apache.dubbo
- dubbo-remoting-mina
-
-
- org.apache.dubbo
- dubbo-remoting-grizzly
-
-
- org.apache.dubbo
- dubbo-remoting-p2p
-
-
- org.apache.dubbo
- dubbo-remoting-http
-
-
- org.apache.dubbo
- dubbo-rpc-jsonrpc
-
-
- org.apache.dubbo
- dubbo-rpc-dubbo
-
-
- org.apache.dubbo
- dubbo-rpc-injvm
-
-
- org.apache.dubbo
- dubbo-rpc-rmi
-
-
- org.apache.dubbo
- dubbo-rpc-hessian
-
-
- org.apache.dubbo
- dubbo-rpc-http
-
-
- org.apache.dubbo
- dubbo-rpc-webservice
-
-
- org.apache.dubbo
- dubbo-rpc-thrift
-
-
- org.apache.dubbo
- dubbo-rpc-memcached
-
-
- org.apache.dubbo
- dubbo-rpc-redis
-
-
- org.apache.dubbo
- dubbo-rpc-rest
-
-
- org.apache.dubbo
- dubbo-registry-default
-
-
- org.apache.dubbo
- dubbo-registry-multicast
-
-
- org.apache.dubbo
- dubbo-registry-zookeeper
-
-
- org.apache.dubbo
- dubbo-registry-redis
-
-
- org.apache.dubbo
- dubbo-monitor-api
-
-
- org.apache.dubbo
- dubbo-monitor-default
-
-
- org.apache.dubbo
- dubbo-container-spring
-
-
- org.apache.dubbo
- dubbo-container-log4j
-
-
- org.apache.dubbo
- dubbo-container-logback
-
-
- org.apache.dubbo
- dubbo-qos
-
-
- com.alibaba
- hessian-lite
-
-
- org.apache.dubbo
- dubbo-serialization-api
-
-
- org.apache.dubbo
- dubbo-serialization-hessian2
-
-
- org.apache.dubbo
- dubbo-serialization-fst
-
-
- org.apache.dubbo
- dubbo-serialization-fastjson
-
-
- org.apache.dubbo
- dubbo-serialization-gson
-
-
- org.apache.dubbo
- dubbo-serialization-kryo
-
-
- org.apache.dubbo
- dubbo-serialization-avro
-
-
- org.apache.dubbo
- dubbo-serialization-jdk
- 2.7.1-SNAPSHOT
-
-
- org.hibernate
- hibernate-validator
-
-
- org.glassfish
- javax.el
-
-
-