This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.3.0-beta.1-release
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.3.0-beta.1-release by this
push:
new cff9bfd1d2 fix loading process cannot load environment variables.
(#13091)
cff9bfd1d2 is described below
commit cff9bfd1d2901501d9d8ded74fac430edaf0a900
Author: Ken Liu <[email protected]>
AuthorDate: Sat Sep 23 16:54:00 2023 +0800
fix loading process cannot load environment variables. (#13091)
---
.../dubbo/common/config/ConfigurationUtils.java | 4 ++--
.../config/deploy/DefaultApplicationDeployer.java | 25 ++++++++++++++--------
.../registry/integration/RegistryProtocol.java | 2 +-
.../rest/NoAnnotationRestProtocolTest.java | 9 +++++---
4 files changed, 25 insertions(+), 15 deletions(-)
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
index 043cdd9e78..ab91c881bb 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
@@ -277,7 +277,7 @@ public final class ConfigurationUtils {
for (Map.Entry<String, V> entry : copy.entrySet()) {
String key = entry.getKey();
V val = entry.getValue();
- if (StringUtils.startsWithIgnoreCase(key, prefix)
+ if ((StringUtils.startsWithIgnoreCase(key, prefix) ||
StringUtils.startsWithIgnoreCase(key, StringUtils.toOSStyleKey(prefix)))
&& key.length() > prefix.length()
&& !ConfigurationUtils.isEmptyValue(val)) {
@@ -317,7 +317,7 @@ public final class ConfigurationUtils {
}
for (Map.Entry<String, V> entry : copy.entrySet()) {
String key = entry.getKey();
- if (StringUtils.startsWithIgnoreCase(key, prefix)
+ if ((StringUtils.startsWithIgnoreCase(key, prefix) ||
StringUtils.startsWithIgnoreCase(key, StringUtils.toOSStyleKey(prefix)))
&& key.length() > prefix.length()
&& !ConfigurationUtils.isEmptyValue(entry.getValue())) {
return true;
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
index 3e194f6557..dad986d200 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java
@@ -187,7 +187,7 @@ public class DefaultApplicationDeployer extends
AbstractDeployer<ApplicationMode
* by default is false.
*/
private boolean isRegisterConsumerInstance() {
- Boolean registerConsumer = getApplication().getRegisterConsumer();
+ Boolean registerConsumer =
getApplicationOrElseThrow().getRegisterConsumer();
if (registerConsumer == null) {
return false;
}
@@ -310,7 +310,7 @@ public class DefaultApplicationDeployer extends
AbstractDeployer<ApplicationMode
useRegistryAsMetadataCenterIfNecessary();
- ApplicationConfig applicationConfig = getApplication();
+ ApplicationConfig applicationConfig = getApplicationOrElseThrow();
String metadataType = applicationConfig.getMetadataType();
// FIXME, multiple metadata config support.
@@ -858,14 +858,18 @@ public class DefaultApplicationDeployer extends
AbstractDeployer<ApplicationMode
if (StringUtils.isNotEmpty(configContent)) {
logger.info(String.format("Got global remote configuration
from config center with key-%s and group-%s: \n %s",
configCenter.getConfigFile(), configCenter.getGroup(), configContent));
}
- String appGroup = getApplication().getName();
+ String appGroup = "";
String appConfigContent = null;
String appConfigFile = null;
- if (isNotEmpty(appGroup)) {
- appConfigFile =
isNotEmpty(configCenter.getAppConfigFile()) ? configCenter.getAppConfigFile() :
configCenter.getConfigFile();
- appConfigContent =
dynamicConfiguration.getProperties(appConfigFile, appGroup);
- if (StringUtils.isNotEmpty(appConfigContent)) {
- logger.info(String.format("Got application specific
remote configuration from config center with key %s and group %s: \n %s",
appConfigFile, appGroup, appConfigContent));
+ Optional<ApplicationConfig> applicationOptional =
getApplication();
+ if (applicationOptional.isPresent()) {
+ appGroup = applicationOptional.get().getName();
+ if (isNotEmpty(appGroup)) {
+ appConfigFile =
isNotEmpty(configCenter.getAppConfigFile()) ? configCenter.getAppConfigFile() :
configCenter.getConfigFile();
+ appConfigContent =
dynamicConfiguration.getProperties(appConfigFile, appGroup);
+ if (StringUtils.isNotEmpty(appConfigContent)) {
+ logger.info(String.format("Got application
specific remote configuration from config center with key %s and group %s: \n
%s", appConfigFile, appGroup, appConfigContent));
+ }
}
}
try {
@@ -1322,9 +1326,12 @@ public class DefaultApplicationDeployer extends
AbstractDeployer<ApplicationMode
}
}
- private ApplicationConfig getApplication() {
+ private ApplicationConfig getApplicationOrElseThrow() {
return configManager.getApplicationOrElseThrow();
}
+ private Optional<ApplicationConfig> getApplication() {
+ return configManager.getApplication();
+ }
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index f8d3f72e77..a15f1ad0cf 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@ -917,7 +917,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
public ProviderConfigurationListener(ModuleModel moduleModel) {
super(moduleModel);
this.moduleModel = moduleModel;
- if
(moduleModel.modelEnvironment().getConfiguration().convert(Boolean.class,
ENABLE_CONFIGURATION_LISTEN, true)) {
+ if
(moduleModel.modelEnvironment().getConfiguration().getBoolean(ENABLE_CONFIGURATION_LISTEN,
true)) {
this.initWith(moduleModel.getApplicationModel().getApplicationName() +
CONFIGURATORS_SUFFIX);
}
}
diff --git
a/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/NoAnnotationRestProtocolTest.java
b/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/NoAnnotationRestProtocolTest.java
index 3d8ad1b2fe..b7a7b439bf 100644
---
a/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/NoAnnotationRestProtocolTest.java
+++
b/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/NoAnnotationRestProtocolTest.java
@@ -21,7 +21,6 @@ import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.ExtensionLoader;
import org.apache.dubbo.common.utils.JsonUtils;
import org.apache.dubbo.common.utils.NetUtils;
-
import org.apache.dubbo.rpc.Exporter;
import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.Protocol;
@@ -31,13 +30,11 @@ import org.apache.dubbo.rpc.model.FrameworkModel;
import org.apache.dubbo.rpc.model.ModuleServiceRepository;
import org.apache.dubbo.rpc.model.ProviderModel;
import org.apache.dubbo.rpc.model.ServiceDescriptor;
-
import org.apache.dubbo.rpc.protocol.rest.noannotation.NoAnnotationDemoService;
import
org.apache.dubbo.rpc.protocol.rest.noannotation.NoAnnotationDemoServiceImpl;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
-
import org.junit.jupiter.api.Test;
import java.util.Arrays;
@@ -53,6 +50,12 @@ class NoAnnotationRestProtocolTest {
public void tearDown() {
protocol.destroy();
FrameworkModel.destroyAll();
+ new JsonUtils() {
+ public void clearJson() {
+ setJson(null);
+ }
+ }.clearJson();
+ System.clearProperty(CommonConstants.PREFER_JSON_FRAMEWORK_NAME);
}
@Test