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/09/05 04:50:47 UTC

[dubbo] branch 3.0 updated: Add ApplicationModel destroy support and ut support (#8673)

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 7c8662e  Add ApplicationModel destroy support and ut support (#8673)
7c8662e is described below

commit 7c8662e99ebdcc66f08d089bc3e7493e4d2d89cf
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Sun Sep 5 12:50:30 2021 +0800

    Add ApplicationModel destroy support and ut support (#8673)
    
    * Add ApplicationModel destroy support and ut support
    
    * Fix ut
    
    * Fix ut
---
 .../apache/dubbo/rpc/model/ApplicationModel.java   | 28 ++++++++++++++++++++++
 .../org/apache/dubbo/config/url/UrlTestBase.java   |  3 ++-
 .../javaconfig/JavaConfigReferenceBeanTest.java    |  4 ++--
 3 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java
index ac81a82..48ff881 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java
@@ -178,12 +178,25 @@ public class ApplicationModel extends ScopeModel {
         }
     }
 
+    @Override
     public void destroy() {
         // TODO destroy application resources
         for (ModuleModel moduleModel : new ArrayList<>(moduleModels)) {
             moduleModel.destroy();
         }
         frameworkModel.removeApplication(this);
+        if (environment != null) {
+            environment.destroy();
+            environment = null;
+        }
+        if (configManager != null) {
+            configManager.destroy();
+            configManager = null;
+        }
+        if (serviceRepository != null) {
+            serviceRepository.destroy();
+            serviceRepository = null;
+        }
     }
 
     public FrameworkModel getFrameworkModel() {
@@ -251,6 +264,21 @@ public class ApplicationModel extends ScopeModel {
         return internalModule;
     }
 
+    @Deprecated
+    public void setEnvironment(Environment environment) {
+        this.environment = environment;
+    }
+
+    @Deprecated
+    public void setConfigManager(ConfigManager configManager) {
+        this.configManager = configManager;
+    }
+
+    @Deprecated
+    public void setServiceRepository(ServiceRepository serviceRepository) {
+        this.serviceRepository = serviceRepository;
+    }
+
     @Override
     public String toString() {
         return "ApplicationModel";
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/url/UrlTestBase.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/url/UrlTestBase.java
index 3d7e320..5328bff 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/url/UrlTestBase.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/url/UrlTestBase.java
@@ -51,7 +51,7 @@ public class UrlTestBase {
     private static final int TESTVALUE5 = 8;
     private static final int TESTVALUE6 = 9;
     private static final int TESTVALUE7 = 10;
-    protected ApplicationConfig application = new ApplicationConfig();
+    protected ApplicationConfig application;
     protected RegistryConfig regConfForProvider;
     protected RegistryConfig regConfForService;
     protected ProviderConfig provConf;
@@ -144,6 +144,7 @@ public class UrlTestBase {
         servConf = new ServiceConfig<DemoService>();
 
 //        provConf.setApplication(appConfForProvider);
+        application = new ApplicationConfig();
         application.setMetadataServicePort(20881);
         servConf.setApplication(application);
 
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java
index cd65bb4..01fd001 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/reference/javaconfig/JavaConfigReferenceBeanTest.java
@@ -53,17 +53,17 @@ public class JavaConfigReferenceBeanTest {
 
     @BeforeEach
     public void setUp() {
+        DubboBootstrap.reset();
         multipleRegistryCenter = new ZookeeperMultipleRegistryCenter();
         multipleRegistryCenter.startup();
-        DubboBootstrap.reset();
         SpringExtensionInjector.clearContexts();
     }
 
     @AfterEach
     public void tearDown() {
-        DubboBootstrap.reset();
         multipleRegistryCenter.shutdown();
         SpringExtensionInjector.clearContexts();
+        DubboBootstrap.reset();
     }
 
     @Test