feature:support spring cloud configData

pull/451/head
wulingxiao 3 years ago
parent 0d84c9f3cc
commit c1facca86a

@ -20,6 +20,7 @@ package com.tencent.cloud.polaris.config.configdata;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects;
import com.tencent.cloud.polaris.config.ConfigurationModifier; import com.tencent.cloud.polaris.config.ConfigurationModifier;
import com.tencent.cloud.polaris.config.adapter.PolarisPropertySourceManager; import com.tencent.cloud.polaris.config.adapter.PolarisPropertySourceManager;
@ -113,12 +114,18 @@ public class PolarisConfigDataLocationResolver implements
PolarisConfigProperties.class, PolarisConfigProperties.class,
POLARIS_PREFIX + ".config" POLARIS_PREFIX + ".config"
); );
if (Objects.isNull(polarisConfigProperties)) {
polarisConfigProperties = new PolarisConfigProperties();
}
PolarisContextProperties polarisContextProperties = loadPolarisConfigProperties( PolarisContextProperties polarisContextProperties = loadPolarisConfigProperties(
resolverContext, resolverContext,
PolarisContextProperties.class, PolarisContextProperties.class,
POLARIS_PREFIX POLARIS_PREFIX
); );
if (Objects.isNull(polarisContextProperties)) {
polarisContextProperties = new PolarisContextProperties();
}
// prepare and init earlier Polaris SDKContext to pull config files from remote. // prepare and init earlier Polaris SDKContext to pull config files from remote.
prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, polarisContextProperties); prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, polarisContextProperties);
@ -168,7 +175,7 @@ public class PolarisConfigDataLocationResolver implements
.map(properties -> binder.bind(prefix, Bindable.ofInstance(properties), bindHandler) .map(properties -> binder.bind(prefix, Bindable.ofInstance(properties), bindHandler)
.orElse(properties)) .orElse(properties))
.orElseGet(() -> binder.bind(prefix, Bindable.of(typeClass), bindHandler) .orElseGet(() -> binder.bind(prefix, Bindable.of(typeClass), bindHandler)
.orElseGet(null)); .orElseGet(() -> null));
} }
return instance; return instance;
} }
@ -187,6 +194,10 @@ public class PolarisConfigDataLocationResolver implements
String groupFileName = getRealGroupFileName(location); String groupFileName = getRealGroupFileName(location);
String serviceName = loadPolarisConfigProperties(resolverContext, String serviceName = loadPolarisConfigProperties(resolverContext,
String.class, "spring.application.name"); 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); String groupName = StringUtils.isBlank(groupFileName) ? EMPTY_STRING : parseGroupName(groupFileName, serviceName);
if (StringUtils.isNotBlank(groupName)) { if (StringUtils.isNotBlank(groupName)) {
log.info("group from configDataLocation is " + groupName); log.info("group from configDataLocation is " + groupName);

@ -7,7 +7,7 @@ spring:
namespace: default namespace: default
config: config:
connect-remote-server: false connect-remote-server: false
auto-refresh: true # auto-refresh: true
config: config:
import: import:
- optional:polaris - optional:polaris
Loading…
Cancel
Save