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 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 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 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 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