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 0fa303286..ebe3dcefe 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 @@ -139,8 +139,19 @@ public List resolveProfileSpecific( } // prepare and init earlier Polaris SDKContext to pull config files from remote. - prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, polarisCryptoConfigProperties, polarisContextProperties); - + try { + prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, polarisCryptoConfigProperties, polarisContextProperties); + } + catch (Throwable throwable) { + if (location.isOptional()) { + log.warn("create earlier polaris SDK context failed.", throwable); + return new ArrayList<>(); + } + else { + log.error("create earlier polaris SDK context failed.", throwable); + throw throwable; + } + } bootstrapContext.registerIfAbsent(PolarisConfigProperties.class, BootstrapRegistry.InstanceSupplier.of(polarisConfigProperties));