You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by ky...@apache.org on 2021/08/30 06:29:33 UTC
[dubbo] 01/03: Revert "Resolve recursive creation of Scope Model"
This is an automated email from the ASF dual-hosted git repository.
kylixs pushed a commit to branch 3.0-multi-instances
in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 84dd5f24048fb1c756deda99473d6d03740860a2
Author: gongdewei <ky...@qq.com>
AuthorDate: Mon Aug 30 12:05:45 2021 +0800
Revert "Resolve recursive creation of Scope Model"
This reverts commit 37a99957
---
.../org/apache/dubbo/rpc/model/ApplicationModel.java | 16 +++-------------
.../java/org/apache/dubbo/rpc/model/FrameworkModel.java | 15 +++------------
.../java/org/apache/dubbo/rpc/model/ModuleModel.java | 8 +-------
.../main/java/org/apache/dubbo/rpc/model/ScopeModel.java | 13 -------------
.../rpc/model/ScopeModelAwareExtensionProcessor.java | 7 +++----
5 files changed, 10 insertions(+), 49 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 6ae46a6..8f8c89c 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
@@ -62,27 +62,17 @@ public class ApplicationModel extends ScopeModel {
private FrameworkModel frameworkModel;
public ApplicationModel(FrameworkModel frameworkModel) {
- this(frameworkModel, true);
- }
-
- public ApplicationModel(FrameworkModel frameworkModel, boolean shouldInit) {
super(frameworkModel, new ExtensionDirector(frameworkModel.getExtensionDirector(), ExtensionScope.APPLICATION));
this.frameworkModel = frameworkModel;
frameworkModel.addApplication(this);
-
- if (shouldInit) {
- postConstruct();
- }
+ postProcessAfterCreated();
}
public static ApplicationModel defaultModel() {
- if (defaultInstance == null || !defaultInstance.isReady()) {
+ if (defaultInstance == null) {
synchronized (ApplicationModel.class) {
if (defaultInstance == null) {
- defaultInstance = new ApplicationModel(FrameworkModel.defaultModel(), false);
- }
- if (!defaultInstance.isReady()) {
- defaultInstance.postConstruct();
+ defaultInstance = new ApplicationModel(FrameworkModel.defaultModel());
}
}
}
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/FrameworkModel.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/FrameworkModel.java
index e097605..438c465 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/FrameworkModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/FrameworkModel.java
@@ -37,24 +37,15 @@ public class FrameworkModel extends ScopeModel {
private List<ApplicationModel> applicationModels = Collections.synchronizedList(new ArrayList<>());
public FrameworkModel() {
- this(true);
- }
-
- public FrameworkModel(boolean shouldInit) {
super(null, new ExtensionDirector(null, ExtensionScope.FRAMEWORK));
- if (shouldInit) {
- postConstruct();
- }
+ postProcessAfterCreated();
}
public static FrameworkModel defaultModel() {
- if (defaultInstance == null || !defaultInstance.isReady()) {
+ if (defaultInstance == null) {
synchronized (FrameworkModel.class) {
if (defaultInstance == null) {
- defaultInstance = new FrameworkModel(false);
- }
- if (!defaultInstance.isReady()) {
- defaultInstance.postConstruct();
+ defaultInstance = new FrameworkModel();
}
}
}
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ModuleModel.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ModuleModel.java
index b5141e9..0ddb8b9 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ModuleModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ModuleModel.java
@@ -27,16 +27,10 @@ public class ModuleModel extends ScopeModel {
private final ApplicationModel applicationModel;
public ModuleModel(ApplicationModel applicationModel) {
- this(applicationModel, true);
- }
-
- public ModuleModel(ApplicationModel applicationModel, boolean shouldInit) {
super(applicationModel, new ExtensionDirector(applicationModel.getExtensionDirector(), ExtensionScope.MODULE));
this.applicationModel = applicationModel;
applicationModel.addModule(this);
- if(shouldInit) {
- postConstruct();
- }
+ postProcessAfterCreated();
}
public ApplicationModel getApplicationModel() {
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModel.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModel.java
index ccd87bf..d774bb3 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModel.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModel.java
@@ -20,7 +20,6 @@ import org.apache.dubbo.common.beans.factory.ScopeBeanFactory;
import org.apache.dubbo.common.extension.ExtensionAccessor;
import org.apache.dubbo.common.extension.ExtensionDirector;
-import javax.annotation.PostConstruct;
import java.util.Set;
public abstract class ScopeModel implements ExtensionAccessor {
@@ -31,8 +30,6 @@ public abstract class ScopeModel implements ExtensionAccessor {
private final ScopeBeanFactory beanFactory;
- private volatile boolean ready = false;
-
public ScopeModel(ScopeModel parent, ExtensionDirector extensionDirector) {
this.parent = parent;
this.extensionDirector = extensionDirector;
@@ -40,16 +37,6 @@ public abstract class ScopeModel implements ExtensionAccessor {
this.beanFactory = new ScopeBeanFactory(parent != null ? parent.getBeanFactory() : null, extensionDirector);
}
- @PostConstruct
- public void postConstruct() {
- postProcessAfterCreated();
- ready = true;
- }
-
- public boolean isReady() {
- return ready;
- }
-
public ExtensionDirector getExtensionDirector() {
return extensionDirector;
}
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModelAwareExtensionProcessor.java b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModelAwareExtensionProcessor.java
index f586037..4c47c22 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModelAwareExtensionProcessor.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ScopeModelAwareExtensionProcessor.java
@@ -18,26 +18,25 @@ package org.apache.dubbo.rpc.model;
import org.apache.dubbo.common.extension.ExtensionPostProcessor;
-import java.util.concurrent.atomic.AtomicBoolean;
-
public class ScopeModelAwareExtensionProcessor implements ExtensionPostProcessor {
private ScopeModel scopeModel;
private FrameworkModel frameworkModel;
private ApplicationModel applicationModel;
private ModuleModel moduleModel;
- private final AtomicBoolean inited = new AtomicBoolean(false);
+ private volatile boolean inited;
public ScopeModelAwareExtensionProcessor(ScopeModel scopeModel) {
this.scopeModel = scopeModel;
}
private void init() {
- if (!inited.compareAndSet(false, true)) {
+ if (inited) {
return;
}
frameworkModel = ScopeModelUtil.getFrameworkModel(scopeModel);
applicationModel = ScopeModelUtil.getApplicationModel(scopeModel);
moduleModel = ScopeModelUtil.getModuleModel(scopeModel);
+ inited = true;
}
@Override