diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/ConfigurationModifier.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/ConfigurationModifier.java index 8b198517f..4e65a475b 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/ConfigurationModifier.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/ConfigurationModifier.java @@ -75,7 +75,7 @@ public class ConfigurationModifier implements PolarisConfigurationConfigModifier customizerConfig.setEnable(true); ConfigWatchReportRequestCustomizerConfig configWatchCustomizerConfig = customizerConfig.getPluginConfig( ConfigWatchReportRequestCustomizer.NAME, ConfigWatchReportRequestCustomizerConfig.class); - configWatchCustomizerConfig.setEnable(polarisConfigProperties.isReportEnabled()); + configWatchCustomizerConfig.setEnable(polarisConfigProperties.getReport().isEnabled()); customizerConfig.setPluginConfig(ConfigWatchReportRequestCustomizer.NAME, configWatchCustomizerConfig); configuration.getConsumer().getOutlierDetection().setWhen(OutlierDetectionConfig.When.never); configuration.getConsumer().getCircuitBreaker().setEnable(false); diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/PolarisConfigProperties.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/PolarisConfigProperties.java index e9836e87e..261f05643 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/PolarisConfigProperties.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/config/PolarisConfigProperties.java @@ -111,11 +111,9 @@ public class PolarisConfigProperties { private long emptyProtectionExpiredInterval = 7 * 24 * 3600 * 1000L; /** - * If config watch metadata reporting is enabled. + * Config watch metadata report settings. */ - @Value("${spring.cloud.polaris.config.report.enabled:#{'true'}}") - private boolean reportEnabled = true; - + private Report report = new Report(); public boolean isEnabled() { return enabled; @@ -237,12 +235,12 @@ public class PolarisConfigProperties { this.emptyProtectionExpiredInterval = emptyProtectionExpiredInterval; } - public boolean isReportEnabled() { - return reportEnabled; + public Report getReport() { + return report; } - public void setReportEnabled(boolean reportEnabled) { - this.reportEnabled = reportEnabled; + public void setReport(Report report) { + this.report = report; } @Override @@ -263,7 +261,33 @@ public class PolarisConfigProperties { ", checkAddress=" + checkAddress + ", emptyProtectionEnabled=" + emptyProtectionEnabled + ", emptyProtectionExpiredInterval=" + emptyProtectionExpiredInterval + - ", reportEnabled=" + reportEnabled + + ", report=" + report + '}'; } + + /** + * Config watch metadata report settings. + */ + public static class Report { + + /** + * Whether to report config watch metadata. + */ + private boolean enabled = true; + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + @Override + public String toString() { + return "Report{" + + "enabled=" + enabled + + '}'; + } + } } 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 0660c1ea9..ab7def5f9 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 @@ -160,7 +160,8 @@ public class PolarisConfigDataLocationResolver implements // prepare and init earlier Polaris SDKContext to pull config files from remote. try { - prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, polarisCryptoConfigProperties, polarisContextProperties); + prepareAndInitEarlierPolarisSdkContext(resolverContext, polarisConfigProperties, + polarisCryptoConfigProperties, polarisContextProperties); } catch (Throwable throwable) { if (location.isOptional()) { @@ -185,7 +186,8 @@ public class PolarisConfigDataLocationResolver implements BootstrapRegistry.InstanceSupplier.of(tsfTlsProperties)); return loadConfigDataResources(resolverContext, - location, profiles, polarisConfigProperties, polarisCryptoConfigProperties, polarisContextProperties, tsfTlsProperties); + location, profiles, polarisConfigProperties, polarisCryptoConfigProperties, + polarisContextProperties, tsfTlsProperties); } @Override @@ -318,7 +320,8 @@ public class PolarisConfigDataLocationResolver implements private SDKContext sdkContext(ConfigDataLocationResolverContext resolverContext, PolarisConfigProperties polarisConfigProperties, PolarisCryptoConfigProperties polarisCryptoConfigProperties, PolarisContextProperties polarisContextProperties) { - List modifierList = modifierList(polarisConfigProperties, polarisCryptoConfigProperties, polarisContextProperties); + List modifierList = modifierList(polarisConfigProperties, + polarisCryptoConfigProperties, polarisContextProperties); return SDKContext.initContextByConfig(polarisContextProperties.configuration( modifierList, () -> loadPolarisConfigProperties(resolverContext, String.class, "spring.cloud.client.ip-address"), @@ -347,4 +350,3 @@ public class PolarisConfigDataLocationResolver implements Boolean.class.isAssignableFrom(typeClass); } } - diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/ConfigurationModifierTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/ConfigurationModifierTest.java index 5d725a01c..e6ec43c67 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/ConfigurationModifierTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/ConfigurationModifierTest.java @@ -78,6 +78,9 @@ class ConfigurationModifierTest { @Mock private PolarisCryptoConfigProperties polarisCryptoConfigProperties; + @Mock + private PolarisConfigProperties.Report report; + @Mock private PolarisContextProperties polarisContextProperties; @@ -90,7 +93,8 @@ class ConfigurationModifierTest { void setUp() { configurationModifier = new ConfigurationModifier( polarisConfigProperties, polarisCryptoConfigProperties, polarisContextProperties); - Mockito.lenient().when(polarisConfigProperties.isReportEnabled()).thenReturn(true); + Mockito.lenient().when(polarisConfigProperties.getReport()).thenReturn(report); + Mockito.lenient().when(report.isEnabled()).thenReturn(true); } /** @@ -207,7 +211,7 @@ class ConfigurationModifierTest { @Test void testModify_ConfigWatchReportDisabled() { ConfigurationImpl configuration = buildMockConfiguration(); - when(polarisConfigProperties.isReportEnabled()).thenReturn(false); + when(report.isEnabled()).thenReturn(false); when(polarisContextProperties.getEnabled()).thenReturn(false); configurationModifier.modify(configuration); diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/config/PolarisConfigPropertiesTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/config/PolarisConfigPropertiesTest.java index 93ef1241b..1028951c9 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/config/PolarisConfigPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/config/PolarisConfigPropertiesTest.java @@ -35,8 +35,8 @@ public class PolarisConfigPropertiesTest { @Test public void testReportEnabledDefaultTrue() { this.contextRunner.run(context -> { - PolarisConfigProperties properties = context.getBean(PolarisConfigProperties.class); - assertThat(properties.isReportEnabled()).isTrue(); + PolarisConfigProperties properties = context.getBean(PolarisConfigProperties.class); + assertThat(properties.getReport().isEnabled()).isTrue(); }); } @@ -45,8 +45,8 @@ public class PolarisConfigPropertiesTest { this.contextRunner .withPropertyValues("spring.cloud.polaris.config.report.enabled=false") .run(context -> { - PolarisConfigProperties properties = context.getBean(PolarisConfigProperties.class); - assertThat(properties.isReportEnabled()).isFalse(); + PolarisConfigProperties properties = context.getBean(PolarisConfigProperties.class); + assertThat(properties.getReport().isEnabled()).isFalse(); }); }