You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2018/11/15 07:16:41 UTC
[incubator-dubbo] 02/04: solve dubbo-bootstrap conficts after
merged master
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
commit 0d0c955eee40528fd87d856c402724c103835607
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Nov 15 14:52:50 2018 +0800
solve dubbo-bootstrap conficts after merged master
---
dubbo-all/pom.xml | 14 ---
dubbo-bootstrap/pom.xml | 111 ---------------------
.../org/apache/dubbo/bootstrap/DubboBootstrap.java | 110 --------------------
.../org/apache/dubbo/config/AbstractConfig.java | 3 +
.../apache/dubbo/config}/DubboShutdownHook.java | 2 +-
.../apache/dubbo/config/AbstractConfigTest.java | 0
.../dubbo/config/AbstractInterfaceConfigTest.java | 0
.../dubbo/config/AbstractMethodConfigTest.java | 0
.../dubbo/config/AbstractReferenceConfigTest.java | 0
.../dubbo/config/AbstractServiceConfigTest.java | 0
.../apache/dubbo/config/ApplicationConfigTest.java | 0
.../apache/dubbo/config/ArgumentConfigTest.java | 0
.../apache/dubbo/config/ConsumerConfigTest.java | 0
.../apache/dubbo/config/GenericServiceTest.java | 0
.../org/apache/dubbo/config/MethodConfigTest.java | 0
.../org/apache/dubbo/config/ModuleConfigTest.java | 0
.../org/apache/dubbo/config/MonitorConfigTest.java | 0
.../apache/dubbo/config/ProtocolConfigTest.java | 0
.../apache/dubbo/config/ProviderConfigTest.java | 0
.../apache/dubbo/config/ReferenceConfigTest.java | 0
.../apache/dubbo/config/RegistryConfigTest.java | 0
.../org/apache/dubbo/config/ServiceConfigTest.java | 0
.../test/java/org/apache/dubbo/config/api/Box.java | 0
.../org/apache/dubbo/config/api/DemoException.java | 0
.../org/apache/dubbo/config/api/DemoService.java | 0
.../java/org/apache/dubbo/config/api/Greeting.java | 0
.../java/org/apache/dubbo/config/api/User.java | 0
.../apache/dubbo/config/cache/CacheService.java | 0
.../dubbo/config/cache/CacheServiceImpl.java | 0
.../org/apache/dubbo/config/cache/CacheTest.java | 0
.../config/consumer/DemoActionByAnnotation.java | 0
.../dubbo/config/consumer/DemoActionBySetter.java | 0
.../dubbo/config/consumer/DemoInterceptor.java | 0
.../DelegateProviderMetaDataInvokerTest.java | 0
.../apache/dubbo/config/mock/GreetingLocal1.java | 0
.../apache/dubbo/config/mock/GreetingLocal2.java | 0
.../apache/dubbo/config/mock/GreetingLocal3.java | 0
.../apache/dubbo/config/mock/GreetingMock1.java | 0
.../apache/dubbo/config/mock/GreetingMock2.java | 0
.../org/apache/dubbo/config/mock/MockCluster.java | 0
.../org/apache/dubbo/config/mock/MockCodec.java | 0
.../apache/dubbo/config/mock/MockDispatcher.java | 0
.../apache/dubbo/config/mock/MockExchanger.java | 0
.../dubbo/config/mock/MockExporterListener.java | 0
.../org/apache/dubbo/config/mock/MockFilter.java | 0
.../dubbo/config/mock/MockInvokerListener.java | 0
.../apache/dubbo/config/mock/MockLoadBalance.java | 0
.../org/apache/dubbo/config/mock/MockProtocol.java | 0
.../apache/dubbo/config/mock/MockProtocol2.java | 0
.../apache/dubbo/config/mock/MockProxyFactory.java | 0
.../org/apache/dubbo/config/mock/MockRegistry.java | 0
.../dubbo/config/mock/MockRegistryFactory.java | 0
.../dubbo/config/mock/MockRegistryFactory2.java | 0
.../dubbo/config/mock/MockStatusChecker.java | 0
.../dubbo/config/mock/MockTelnetHandler.java | 0
.../apache/dubbo/config/mock/MockThreadPool.java | 0
.../apache/dubbo/config/mock/MockTransporter.java | 0
.../apache/dubbo/config/mock/TestProxyFactory.java | 0
.../config/provider/impl/DemoServiceImpl.java | 0
.../config/url/ExporterSideConfigUrlTest.java | 0
.../dubbo/config/url/InvokerSideConfigUrlTest.java | 0
.../dubbo/config/url/RpcConfigGetSetProxy.java | 0
.../org/apache/dubbo/config/url/UrlTestBase.java | 0
.../dubbo/config/utils/MockReferenceConfig.java | 0
.../config/utils/ReferenceConfigCacheTest.java | 0
.../config/validation/ValidationParameter.java | 0
.../dubbo/config/validation/ValidationService.java | 0
.../config/validation/ValidationServiceImpl.java | 0
.../dubbo/config/validation/ValidationTest.java | 0
.../org.apache.dubbo.common.status.StatusChecker | 0
.../org.apache.dubbo.common.threadpool.ThreadPool | 0
.../org.apache.dubbo.registry.RegistryFactory | 0
.../services/org.apache.dubbo.remoting.Codec | 0
.../services/org.apache.dubbo.remoting.Dispatcher | 0
.../services/org.apache.dubbo.remoting.Transporter | 0
.../org.apache.dubbo.remoting.exchange.Exchanger | 0
.../org.apache.dubbo.remoting.telnet.TelnetHandler | 0
.../services/org.apache.dubbo.rpc.ExporterListener | 0
.../META-INF/services/org.apache.dubbo.rpc.Filter | 0
.../services/org.apache.dubbo.rpc.InvokerListener | 0
.../services/org.apache.dubbo.rpc.Protocol | 0
.../services/org.apache.dubbo.rpc.ProxyFactory | 0
.../services/org.apache.dubbo.rpc.cluster.Cluster | 0
.../org.apache.dubbo.rpc.cluster.LoadBalance | 0
.../src/main/test/resources/log4j.xml | 0
.../governance/DynamicConfigurationFactory.java | 35 -------
.../nop/NopDynamicConfigurationFactory.java | 42 --------
.../apollo/ApolloDynamicConfigurationFactory.java | 46 ---------
.../ArchaiusDynamicConfigurationFactory.java | 44 --------
dubbo-registry/dubbo-registry-api/pom.xml | 5 -
90 files changed, 4 insertions(+), 408 deletions(-)
diff --git a/dubbo-all/pom.xml b/dubbo-all/pom.xml
index e7ac32e..620348d 100644
--- a/dubbo-all/pom.xml
+++ b/dubbo-all/pom.xml
@@ -327,13 +327,6 @@
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-bootstrap</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-governance-api</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
@@ -460,7 +453,6 @@
<include>org.apache.dubbo:dubbo-serialization-kryo</include>
<include>org.apache.dubbo:dubbo-serialization-jdk</include>
<include>org.apache.dubbo:dubbo-serialization-protostuff</include>
- <include>org.apache.dubbo:dubbo-bootstrap</include>
<include>org.apache.dubbo:dubbo-governance-api</include>
<include>org.apache.dubbo:dubbo-governance-apollo</include>
<include>org.apache.dubbo:dubbo-governance-zookeeper</include>
@@ -586,12 +578,6 @@
<resource>META-INF/dubbo/internal/org.apache.dubbo.governance.DynamicConfiguration
</resource>
</transformer>
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>
- META-INF/dubbo/internal/org.apache.dubbo.governance.DynamicConfigurationFactory
- </resource>
- </transformer>
</transformers>
</configuration>
</execution>
diff --git a/dubbo-bootstrap/pom.xml b/dubbo-bootstrap/pom.xml
deleted file mode 100644
index c01861b..0000000
--- a/dubbo-bootstrap/pom.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>dubbo-parent</artifactId>
- <groupId>org.apache.dubbo</groupId>
- <version>2.7.0-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>dubbo-bootstrap</artifactId>
-
-
- <dependencies>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-config-api</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-common</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-registry-api</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-monitor-default</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-rpc-dubbo</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-rpc-rmi</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-remoting-netty4</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish</groupId>
- <artifactId>javax.el</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-registry-default</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-registry-multicast</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-serialization-hessian2</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-serialization-jdk</artifactId>
- <version>${project.parent.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
diff --git a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java
deleted file mode 100644
index 8334c21..0000000
--- a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java
+++ /dev/null
@@ -1,110 +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.bootstrap;
-
-import org.apache.dubbo.config.ServiceConfig;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A bootstrap class to easily start and stop Dubbo via programmatic API.
- * The bootstrap class will be responsible to cleanup the resources during stop.
- */
-public class DubboBootstrap {
-
- /**
- * The list of ServiceConfig
- */
- private List<ServiceConfig> serviceConfigList;
-
- /**
- * Whether register the shutdown hook during start?
- */
- private final boolean registerShutdownHookOnStart;
-
- /**
- * The shutdown hook used when Dubbo is running under embedded environment
- */
- private DubboShutdownHook shutdownHook;
-
- public DubboBootstrap() {
- this(true, DubboShutdownHook.getDubboShutdownHook());
- }
-
- public DubboBootstrap(boolean registerShutdownHookOnStart) {
- this(registerShutdownHookOnStart, DubboShutdownHook.getDubboShutdownHook());
- }
-
- public DubboBootstrap(boolean registerShutdownHookOnStart, DubboShutdownHook shutdownHook) {
- this.serviceConfigList = new ArrayList<ServiceConfig>();
- this.shutdownHook = shutdownHook;
- this.registerShutdownHookOnStart = registerShutdownHookOnStart;
- }
-
- /**
- * Register service config to bootstrap, which will be called during {@link DubboBootstrap#stop()}
- * @param serviceConfig the service
- * @return the bootstrap instance
- */
- public DubboBootstrap registerServiceConfig(ServiceConfig serviceConfig) {
- serviceConfigList.add(serviceConfig);
- return this;
- }
-
- public void start() {
- if (registerShutdownHookOnStart) {
- registerShutdownHook();
- } else {
- // DubboShutdown hook has been registered in AbstractConfig,
- // we need to remove it explicitly
- removeShutdownHook();
- }
- for (ServiceConfig serviceConfig: serviceConfigList) {
- serviceConfig.export();
- }
- }
-
- public void stop() {
- for (ServiceConfig serviceConfig: serviceConfigList) {
- serviceConfig.unexport();
- }
- shutdownHook.destroyAll();
- if (registerShutdownHookOnStart) {
- removeShutdownHook();
- }
- }
-
- /**
- * Register the shutdown hook
- */
- public void registerShutdownHook() {
- Runtime.getRuntime().addShutdownHook(shutdownHook);
- }
-
- /**
- * Remove this shutdown hook
- */
- public void removeShutdownHook() {
- try {
- Runtime.getRuntime().removeShutdownHook(shutdownHook);
- }
- catch (IllegalStateException ex) {
- // ignore - VM is already shutting down
- }
- }
-}
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 5af184d..a883973 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@ -78,6 +78,9 @@ public abstract class AbstractConfig implements Serializable {
legacyProperties.put("dubbo.consumer.retries", "dubbo.service.max.retry.providers");
legacyProperties.put("dubbo.consumer.check", "dubbo.service.allow.no.provider");
legacyProperties.put("dubbo.service.url", "dubbo.service.address");
+
+ // this is only for compatibility
+ Runtime.getRuntime().addShutdownHook(DubboShutdownHook.getDubboShutdownHook());
}
protected String id;
diff --git a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboShutdownHook.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/DubboShutdownHook.java
similarity index 98%
rename from dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboShutdownHook.java
rename to dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/DubboShutdownHook.java
index 11a846b..90ed237 100644
--- a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboShutdownHook.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/DubboShutdownHook.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.dubbo.bootstrap;
+package org.apache.dubbo.config;
import org.apache.dubbo.common.extension.ExtensionLoader;
import org.apache.dubbo.common.logger.Logger;
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractInterfaceConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractMethodConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractMethodConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractMethodConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractMethodConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractReferenceConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractReferenceConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractReferenceConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractReferenceConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ApplicationConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ApplicationConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ApplicationConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ApplicationConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ArgumentConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ArgumentConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ArgumentConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ArgumentConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ConsumerConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ConsumerConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ConsumerConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ConsumerConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/GenericServiceTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/GenericServiceTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/GenericServiceTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/GenericServiceTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/MethodConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/MethodConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/MethodConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/MethodConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ModuleConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ModuleConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ModuleConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ModuleConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/MonitorConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/MonitorConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/MonitorConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/MonitorConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ProtocolConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ProtocolConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ProtocolConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ProtocolConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ProviderConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ProviderConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ProviderConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ProviderConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ReferenceConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/RegistryConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/RegistryConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/RegistryConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/RegistryConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ServiceConfigTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ServiceConfigTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/ServiceConfigTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/ServiceConfigTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/Box.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/Box.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/Box.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/Box.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/DemoException.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/DemoException.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/DemoException.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/DemoException.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/DemoService.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/DemoService.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/DemoService.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/DemoService.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/Greeting.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/Greeting.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/Greeting.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/Greeting.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/User.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/User.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/api/User.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/api/User.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/cache/CacheService.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/cache/CacheService.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/cache/CacheService.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/cache/CacheService.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/cache/CacheServiceImpl.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/cache/CacheServiceImpl.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/cache/CacheServiceImpl.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/cache/CacheServiceImpl.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/cache/CacheTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/cache/CacheTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/cache/CacheTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/cache/CacheTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionByAnnotation.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionByAnnotation.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionByAnnotation.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionByAnnotation.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionBySetter.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionBySetter.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionBySetter.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/consumer/DemoActionBySetter.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/consumer/DemoInterceptor.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/consumer/DemoInterceptor.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/consumer/DemoInterceptor.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/consumer/DemoInterceptor.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/invoker/DelegateProviderMetaDataInvokerTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/invoker/DelegateProviderMetaDataInvokerTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/invoker/DelegateProviderMetaDataInvokerTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/invoker/DelegateProviderMetaDataInvokerTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal1.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal1.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal1.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal1.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal2.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal2.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal2.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal2.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal3.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal3.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal3.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingLocal3.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock1.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock1.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock1.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock1.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock2.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock2.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock2.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/GreetingMock2.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockCluster.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockCluster.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockCluster.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockCluster.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockCodec.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockCodec.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockCodec.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockCodec.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockDispatcher.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockDispatcher.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockDispatcher.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockDispatcher.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockExchanger.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockExchanger.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockExchanger.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockExchanger.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockExporterListener.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockExporterListener.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockExporterListener.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockExporterListener.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockFilter.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockFilter.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockFilter.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockFilter.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockInvokerListener.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockInvokerListener.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockInvokerListener.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockInvokerListener.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockLoadBalance.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockLoadBalance.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockLoadBalance.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockLoadBalance.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol2.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol2.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol2.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockProtocol2.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockProxyFactory.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockProxyFactory.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockProxyFactory.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockProxyFactory.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockRegistry.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockRegistry.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockRegistry.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockRegistry.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory2.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory2.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory2.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockRegistryFactory2.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockStatusChecker.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockStatusChecker.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockStatusChecker.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockStatusChecker.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockTelnetHandler.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockTelnetHandler.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockTelnetHandler.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockTelnetHandler.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockThreadPool.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockThreadPool.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockThreadPool.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockThreadPool.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockTransporter.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockTransporter.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/MockTransporter.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/MockTransporter.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/TestProxyFactory.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/TestProxyFactory.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/mock/TestProxyFactory.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/mock/TestProxyFactory.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/provider/impl/DemoServiceImpl.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/provider/impl/DemoServiceImpl.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/provider/impl/DemoServiceImpl.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/provider/impl/DemoServiceImpl.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/ExporterSideConfigUrlTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/ExporterSideConfigUrlTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/ExporterSideConfigUrlTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/ExporterSideConfigUrlTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/InvokerSideConfigUrlTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/InvokerSideConfigUrlTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/InvokerSideConfigUrlTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/InvokerSideConfigUrlTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/RpcConfigGetSetProxy.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/RpcConfigGetSetProxy.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/RpcConfigGetSetProxy.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/RpcConfigGetSetProxy.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/UrlTestBase.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/UrlTestBase.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/url/UrlTestBase.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/url/UrlTestBase.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/utils/MockReferenceConfig.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/utils/MockReferenceConfig.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/utils/MockReferenceConfig.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/utils/MockReferenceConfig.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/utils/ReferenceConfigCacheTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/utils/ReferenceConfigCacheTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/utils/ReferenceConfigCacheTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/utils/ReferenceConfigCacheTest.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationParameter.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationParameter.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationParameter.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationParameter.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationService.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationService.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationService.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationService.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationServiceImpl.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationServiceImpl.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationServiceImpl.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationServiceImpl.java
diff --git a/dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationTest.java b/dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationTest.java
similarity index 100%
rename from dubbo-bootstrap/src/main/test/java/org/apache/dubbo/config/validation/ValidationTest.java
rename to dubbo-config/dubbo-config-api/src/main/test/java/org/apache/dubbo/config/validation/ValidationTest.java
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.common.status.StatusChecker b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.common.status.StatusChecker
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.common.status.StatusChecker
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.common.status.StatusChecker
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.common.threadpool.ThreadPool b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.common.threadpool.ThreadPool
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.common.threadpool.ThreadPool
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.common.threadpool.ThreadPool
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.registry.RegistryFactory b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.registry.RegistryFactory
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.registry.RegistryFactory
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.registry.RegistryFactory
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Codec b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Codec
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Codec
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Codec
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Dispatcher b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Dispatcher
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Dispatcher
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Dispatcher
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Transporter b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Transporter
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Transporter
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.Transporter
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.exchange.Exchanger b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.exchange.Exchanger
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.exchange.Exchanger
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.exchange.Exchanger
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.telnet.TelnetHandler b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.telnet.TelnetHandler
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.telnet.TelnetHandler
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.remoting.telnet.TelnetHandler
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ExporterListener b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ExporterListener
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ExporterListener
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ExporterListener
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Filter b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Filter
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Filter
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Filter
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.InvokerListener b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.InvokerListener
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.InvokerListener
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.InvokerListener
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Protocol b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Protocol
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Protocol
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.Protocol
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ProxyFactory b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ProxyFactory
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ProxyFactory
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.ProxyFactory
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.Cluster b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.Cluster
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.Cluster
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.Cluster
diff --git a/dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance b/dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance
rename to dubbo-config/dubbo-config-api/src/main/test/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance
diff --git a/dubbo-bootstrap/src/main/test/resources/log4j.xml b/dubbo-config/dubbo-config-api/src/main/test/resources/log4j.xml
similarity index 100%
rename from dubbo-bootstrap/src/main/test/resources/log4j.xml
rename to dubbo-config/dubbo-config-api/src/main/test/resources/log4j.xml
diff --git a/dubbo-governance/dubbo-governance-api/src/main/java/org/apache/dubbo/governance/DynamicConfigurationFactory.java b/dubbo-governance/dubbo-governance-api/src/main/java/org/apache/dubbo/governance/DynamicConfigurationFactory.java
deleted file mode 100644
index d4340d8..0000000
--- a/dubbo-governance/dubbo-governance-api/src/main/java/org/apache/dubbo/governance/DynamicConfigurationFactory.java
+++ /dev/null
@@ -1,35 +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.governance;
-
-import org.apache.dubbo.common.Constants;
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.common.extension.Adaptive;
-import org.apache.dubbo.common.extension.SPI;
-
-/**
- *
- */
-@SPI("nop")
-public interface DynamicConfigurationFactory {
-
- @Adaptive({Constants.PROTOCOL_KEY})
- DynamicConfiguration getDynamicConfiguration(URL url);
-
- DynamicConfiguration getExistedDynamicConfiguration();
-
-}
diff --git a/dubbo-governance/dubbo-governance-api/src/main/java/org/apache/dubbo/governance/support/nop/NopDynamicConfigurationFactory.java b/dubbo-governance/dubbo-governance-api/src/main/java/org/apache/dubbo/governance/support/nop/NopDynamicConfigurationFactory.java
deleted file mode 100644
index 13f91a1..0000000
--- a/dubbo-governance/dubbo-governance-api/src/main/java/org/apache/dubbo/governance/support/nop/NopDynamicConfigurationFactory.java
+++ /dev/null
@@ -1,42 +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.governance.support.nop;
-
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.governance.DynamicConfiguration;
-import org.apache.dubbo.governance.DynamicConfigurationFactory;
-
-/**
- *
- */
-public class NopDynamicConfigurationFactory implements DynamicConfigurationFactory {
- private static final URL FAkED_URL = URL.valueOf("config://0.0.0.0:20000/fakepath");
-
- private NopDynamicConfiguration dynamicConfiguration;
-
- @Override
- public DynamicConfiguration getDynamicConfiguration(URL url) {
- dynamicConfiguration = new NopDynamicConfiguration();
- dynamicConfiguration.setUrl(FAkED_URL);
- return dynamicConfiguration;
- }
-
- @Override
- public DynamicConfiguration getExistedDynamicConfiguration() {
- return dynamicConfiguration;
- }
-}
diff --git a/dubbo-governance/dubbo-governance-apollo/src/main/java/org/apache/dubbo/governance/support/apollo/ApolloDynamicConfigurationFactory.java b/dubbo-governance/dubbo-governance-apollo/src/main/java/org/apache/dubbo/governance/support/apollo/ApolloDynamicConfigurationFactory.java
deleted file mode 100644
index 5762f0b..0000000
--- a/dubbo-governance/dubbo-governance-apollo/src/main/java/org/apache/dubbo/governance/support/apollo/ApolloDynamicConfigurationFactory.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.governance.support.apollo;
-
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.governance.DynamicConfiguration;
-import org.apache.dubbo.governance.DynamicConfigurationFactory;
-
-/**
- *
- */
-public class ApolloDynamicConfigurationFactory implements DynamicConfigurationFactory {
-
- private DynamicConfiguration configuration;
-
- @Override
- public synchronized DynamicConfiguration getDynamicConfiguration(URL url) {
- if (configuration == null) {
- configuration = new ApolloDynamicConfiguration();
- configuration.setUrl(url);
- configuration.init();
- }
- return configuration;
- }
-
- @Override
- public DynamicConfiguration getExistedDynamicConfiguration() {
- return configuration;
- }
-
-
-}
diff --git a/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/ArchaiusDynamicConfigurationFactory.java b/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/ArchaiusDynamicConfigurationFactory.java
deleted file mode 100644
index 6bbf127..0000000
--- a/dubbo-governance/dubbo-governance-zookeeper/src/main/java/org/apache/dubbo/governance/support/archaius/ArchaiusDynamicConfigurationFactory.java
+++ /dev/null
@@ -1,44 +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.governance.support.archaius;
-
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.governance.DynamicConfiguration;
-import org.apache.dubbo.governance.DynamicConfigurationFactory;
-
-/**
- *
- */
-public class ArchaiusDynamicConfigurationFactory implements DynamicConfigurationFactory {
-
- private volatile DynamicConfiguration configuration;
-
- @Override
- public synchronized DynamicConfiguration getDynamicConfiguration(URL url) {
- if (configuration == null) {
- configuration = new ArchaiusDynamicConfiguration();
- configuration.setUrl(url);
- configuration.init();
- }
- return configuration;
- }
-
- @Override
- public DynamicConfiguration getExistedDynamicConfiguration() {
- return configuration;
- }
-}
diff --git a/dubbo-registry/dubbo-registry-api/pom.xml b/dubbo-registry/dubbo-registry-api/pom.xml
index fd57a9a..e403d03 100644
--- a/dubbo-registry/dubbo-registry-api/pom.xml
+++ b/dubbo-registry/dubbo-registry-api/pom.xml
@@ -36,11 +36,6 @@
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-config-api</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-governance-api</artifactId>
<version>${project.parent.version}</version>
</dependency>