You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/06/25 04:33:44 UTC
[dubbo] branch 3.0 updated: [3.0] Add service config to bootstrap
when init (#8138)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.0 by this push:
new f488cb3 [3.0] Add service config to bootstrap when init (#8138)
f488cb3 is described below
commit f488cb3a10093ac2c361ac6de696201e0e8a30af
Author: Gong Dewei <ky...@qq.com>
AuthorDate: Fri Jun 25 12:33:29 2021 +0800
[3.0] Add service config to bootstrap when init (#8138)
* Add service config to bootstrap when init
* Fix test
* improve ServiceListener test
---
.../src/main/java/org/apache/dubbo/config/ServiceConfig.java | 3 ++-
.../src/test/java/org/apache/dubbo/config/ServiceConfigTest.java | 9 +--------
.../java/org/apache/dubbo/config/mock/MockServiceListener.java | 5 +++++
3 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index 8d5893b..9058e7d 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@ -190,9 +190,10 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
public void init() {
if (this.initialized.compareAndSet(false, true)) {
if (this.bootstrap == null) {
- this.setBootstrap(DubboBootstrap.getInstance());
+ this.bootstrap = DubboBootstrap.getInstance();
this.bootstrap.initialize();
}
+ this.bootstrap.service(this);
// load ServiceListeners from extension
ExtensionLoader<ServiceListener> extensionLoader = ExtensionLoader.getExtensionLoader(ServiceListener.class);
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java
index a4c6a62..ff480aa 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java
@@ -42,7 +42,6 @@ import org.mockito.Mockito;
import java.util.Collections;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import static org.apache.dubbo.common.constants.CommonConstants.ANYHOST_KEY;
@@ -344,13 +343,7 @@ public class ServiceConfigTest {
@Test
public void testServiceListener() {
ExtensionLoader<ServiceListener> extensionLoader = ExtensionLoader.getExtensionLoader(ServiceListener.class);
- Set<ServiceListener> serviceListeners = extensionLoader.getSupportedExtensionInstances();
- MockServiceListener mockServiceListener = null;
- for (ServiceListener serviceListener : serviceListeners) {
- if (serviceListener instanceof MockServiceListener) {
- mockServiceListener = (MockServiceListener) serviceListener;
- }
- }
+ MockServiceListener mockServiceListener = (MockServiceListener) extensionLoader.getExtension("mock");
assertNotNull(mockServiceListener);
mockServiceListener.clearExportedServices();
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceListener.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceListener.java
index 5cc31b8..75e05a8 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceListener.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockServiceListener.java
@@ -18,6 +18,7 @@ package org.apache.dubbo.config.mock;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.ServiceListener;
+import org.apache.dubbo.metadata.MetadataService;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -28,6 +29,10 @@ public class MockServiceListener implements ServiceListener {
@Override
public void exported(ServiceConfig sc) {
+ // Ignore MetadataService
+ if (sc.getInterfaceClass() == MetadataService.class) {
+ return;
+ }
exportedServices.put(sc.getUniqueServiceName(), sc);
}