From c1facca86af7f47cca7a7400db4b804821a3a08c Mon Sep 17 00:00:00 2001 From: wulingxiao <1251605638@qqcom> Date: Thu, 21 Jul 2022 21:14:00 +0800 Subject: [PATCH] feature:support spring cloud configData --- .../PolarisConfigDataLocationResolver.java | 13 ++++++++++++- .../src/test/resources/application-test.yml | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java index a5e68691c..a3554c5f2 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolver.java @@ -20,6 +20,7 @@ package com.tencent.cloud.polaris.config.configdata; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Objects; import com.tencent.cloud.polaris.config.ConfigurationModifier; import com.tencent.cloud.polaris.config.adapter.PolarisPropertySourceManager; @@ -113,12 +114,18 @@ public class PolarisConfigDataLocationResolver implements PolarisConfigProperties.class, POLARIS_PREFIX + ".config" ); + if (Objects.isNull(polarisConfigProperties)) { + polarisConfigProperties = new PolarisConfigProperties(); + } PolarisContextProperties polarisContextProperties = loadPolarisConfigProperties( resolverContext, PolarisContextProperties.class, POLARIS_PREFIX ); + if (Objects.isNull(polarisContextProperties)) { + polarisContextProperties = new PolarisContextProperties(); + } // prepare and init earlier Polaris SDKContext to pull config files from remote. prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, polarisContextProperties); @@ -168,7 +175,7 @@ public class PolarisConfigDataLocationResolver implements .map(properties -> binder.bind(prefix, Bindable.ofInstance(properties), bindHandler) .orElse(properties)) .orElseGet(() -> binder.bind(prefix, Bindable.of(typeClass), bindHandler) - .orElseGet(null)); + .orElseGet(() -> null)); } return instance; } @@ -187,6 +194,10 @@ public class PolarisConfigDataLocationResolver implements String groupFileName = getRealGroupFileName(location); String serviceName = loadPolarisConfigProperties(resolverContext, String.class, "spring.application.name"); + if (StringUtils.isBlank(serviceName)) { + serviceName = "application"; + log.warn("No spring.application.name found, defaulting to 'application'"); + } String groupName = StringUtils.isBlank(groupFileName) ? EMPTY_STRING : parseGroupName(groupFileName, serviceName); if (StringUtils.isNotBlank(groupName)) { log.info("group from configDataLocation is " + groupName); diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/resources/application-test.yml b/spring-cloud-starter-tencent-polaris-config/src/test/resources/application-test.yml index aeb2c6e3d..c990773f3 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/resources/application-test.yml +++ b/spring-cloud-starter-tencent-polaris-config/src/test/resources/application-test.yml @@ -7,7 +7,7 @@ spring: namespace: default config: connect-remote-server: false - auto-refresh: true +# auto-refresh: true config: import: - optional:polaris \ No newline at end of file