diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bcf48996..8c1a335f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,3 +33,4 @@ - [feat:support default instance circuit breaker rule.](https://github.com/Tencent/spring-cloud-tencent/pull/1551) - [fix: fix count circuit breaker in gateway & return 404 when context api does not match.](https://github.com/Tencent/spring-cloud-tencent/pull/1552) - [docs:simplify GitHub Actions.](https://github.com/Tencent/spring-cloud-tencent/pull/1553) +- [feat: support config event.](https://github.com/Tencent/spring-cloud-tencent/pull/1558) diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java index 3fee72002..92c6fda80 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java @@ -29,6 +29,7 @@ import com.tencent.cloud.polaris.config.logger.PolarisConfigLoggerApplicationLis import com.tencent.cloud.polaris.config.spring.annotation.SpringValueProcessor; import com.tencent.cloud.polaris.config.spring.property.PlaceholderHelper; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; +import com.tencent.cloud.polaris.context.PolarisSDKContextManager; import com.tencent.polaris.configuration.api.core.ConfigFileService; import org.springframework.boot.autoconfigure.AutoConfigureBefore; @@ -77,9 +78,9 @@ public class PolarisConfigAutoConfiguration { @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) public PolarisConfigPropertyRefresher polarisRefreshContextPropertySourceAutoRefresher( PolarisConfigProperties polarisConfigProperties, SpringValueRegistry springValueRegistry, - ConfigFileService configFileService, ContextRefresher contextRefresher) { + ConfigFileService configFileService, ContextRefresher contextRefresher, PolarisSDKContextManager polarisSDKContextManager) { return new PolarisRefreshEntireContextRefresher(polarisConfigProperties, - springValueRegistry, configFileService, contextRefresher); + springValueRegistry, configFileService, contextRefresher, polarisSDKContextManager.getSDKContext()); } @Bean @@ -105,9 +106,10 @@ public class PolarisConfigAutoConfiguration { @Bean public PolarisConfigPropertyRefresher polarisReflectPropertySourceAutoRefresher( PolarisConfigProperties polarisConfigProperties, SpringValueRegistry springValueRegistry, - PlaceholderHelper placeholderHelper, ConfigFileService configFileService, ContextRefresher contextRefresher) { + PlaceholderHelper placeholderHelper, ConfigFileService configFileService, + ContextRefresher contextRefresher, PolarisSDKContextManager polarisSDKContextManager) { return new PolarisRefreshAffectedContextRefresher(polarisConfigProperties, - springValueRegistry, placeholderHelper, configFileService, contextRefresher); + springValueRegistry, placeholderHelper, configFileService, contextRefresher, polarisSDKContextManager.getSDKContext()); } } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java index 0a3f5d9e8..89c651b48 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocator.java @@ -118,13 +118,13 @@ public class PolarisConfigFileLocator implements PropertySourceLocator { public static ConfigKVFile loadConfigKVFile(ConfigFileService configFileService, String namespace, String group, String fileName) { ConfigKVFile configKVFile; - // unknown extension is resolved as properties file - if (ConfigFileFormat.isPropertyFile(fileName) || ConfigFileFormat.isUnknownFile(fileName)) { - configKVFile = configFileService.getConfigPropertiesFile(namespace, group, fileName); - } - else if (ConfigFileFormat.isYamlFile(fileName)) { + // unknown extension is resolved as yaml file + if (ConfigFileFormat.isYamlFile(fileName) || ConfigFileFormat.isUnknownFile(fileName)) { configKVFile = configFileService.getConfigYamlFile(namespace, group, fileName); } + else if (ConfigFileFormat.isPropertyFile(fileName)) { + configKVFile = configFileService.getConfigPropertiesFile(namespace, group, fileName); + } else { LOGGER.warn("[SCT Config] Unsupported config file. namespace = {}, group = {}, fileName = {}", namespace, group, fileName); diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyAutoRefresher.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyAutoRefresher.java index c30f13d9c..2ce7c5f96 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyAutoRefresher.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigPropertyAutoRefresher.java @@ -17,6 +17,7 @@ package com.tencent.cloud.polaris.config.adapter; +import java.time.LocalDateTime; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -29,10 +30,16 @@ import java.util.stream.Collectors; import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; import com.tencent.cloud.polaris.config.logger.PolarisConfigLoggerContext; import com.tencent.cloud.polaris.config.utils.PolarisPropertySourceUtils; +import com.tencent.polaris.api.plugin.configuration.ConfigFile; +import com.tencent.polaris.api.plugin.event.ConfigEvent; +import com.tencent.polaris.api.plugin.event.EventConstants; +import com.tencent.polaris.client.api.SDKContext; +import com.tencent.polaris.client.flow.BaseFlow; import com.tencent.polaris.configuration.api.core.ConfigFileGroup; import com.tencent.polaris.configuration.api.core.ConfigFileMetadata; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.api.core.ConfigKVFile; +import com.tencent.polaris.configuration.api.core.ConfigKVFileChangeEvent; import com.tencent.polaris.configuration.api.core.ConfigKVFileChangeListener; import com.tencent.polaris.configuration.api.core.ConfigPropertyChangeInfo; import com.tencent.polaris.configuration.client.internal.CompositeConfigFile; @@ -61,11 +68,13 @@ public abstract class PolarisConfigPropertyAutoRefresher implements ApplicationL // this class provides customized logic for some customers to configure special business group files private final PolarisConfigCustomExtensionLayer polarisConfigCustomExtensionLayer = PolarisServiceLoaderUtil.getPolarisConfigCustomExtensionLayer(); private final ConfigFileService configFileService; + private final SDKContext context; public PolarisConfigPropertyAutoRefresher(PolarisConfigProperties polarisConfigProperties, - ConfigFileService configFileService) { + ConfigFileService configFileService, SDKContext context) { this.polarisConfigProperties = polarisConfigProperties; this.configFileService = configFileService; + this.context = context; } @Override @@ -157,6 +166,8 @@ public abstract class PolarisConfigPropertyAutoRefresher implements ApplicationL } } refreshConfigurationProperties(changedKeys); + + reportEvent(added); } catch (Exception e) { LOGGER.error("[SCT Config] receive onChange exception,", e); @@ -235,6 +246,9 @@ public abstract class PolarisConfigPropertyAutoRefresher implements ApplicationL } // update @ConfigurationProperties beans refreshConfigurationProperties(configKVFileChangeEvent.changedKeys()); + + reportEvent(listenPolarisPropertySource, configKVFileChangeEvent); + }); } @@ -278,6 +292,38 @@ public abstract class PolarisConfigPropertyAutoRefresher implements ApplicationL return added; } + private void reportEvent(PolarisPropertySource polarisPropertySource, ConfigKVFileChangeEvent configKVFileChangeEvent) { + ConfigEvent.Builder builder = new ConfigEvent.Builder() + .withTimestamp(LocalDateTime.now()) + .withEventType(EventConstants.EventType.CONFIG) + .withEventName(EventConstants.EventName.ConfigUpdated) + .withClientId(context.getExtensions().getValueContext().getClientId()) + .withClientIp(context.getExtensions().getValueContext().getHost()) + .withNamespace(polarisPropertySource.getNamespace()) + .withConfigGroup(polarisPropertySource.getGroup()) + .withConfigVersion(Optional.ofNullable(configKVFileChangeEvent.getConfigFile()).map(ConfigFile::getName).orElse(null)) + .withConfigFileName(polarisPropertySource.getFileName()); + + BaseFlow.reportConfigEvent(context.getExtensions(), builder.build()); + } + + private void reportEvent(Map added) { + for (ConfigFileMetadata configFileMetadata : added.values()) { + ConfigEvent.Builder builder = new ConfigEvent.Builder() + .withTimestamp(LocalDateTime.now()) + .withEventType(EventConstants.EventType.CONFIG) + .withEventName(EventConstants.EventName.ConfigUpdated) + .withClientId(context.getExtensions().getValueContext().getClientId()) + .withClientIp(context.getExtensions().getValueContext().getHost()) + .withNamespace(configFileMetadata.getNamespace()) + .withConfigGroup(configFileMetadata.getFileGroup()) + .withConfigVersion(configFileMetadata.getFileVersion()) + .withConfigFileName(configFileMetadata.getFileName()); + + BaseFlow.reportConfigEvent(context.getExtensions(), builder.build()); + } + } + /** * Just for junit test. * @param registered if the polaris config property auto refresh is registered diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshAffectedContextRefresher.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshAffectedContextRefresher.java index 9dc2bd726..7e53adbd3 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshAffectedContextRefresher.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshAffectedContextRefresher.java @@ -24,6 +24,7 @@ import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; import com.tencent.cloud.polaris.config.spring.property.PlaceholderHelper; import com.tencent.cloud.polaris.config.spring.property.SpringValue; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; +import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.configuration.api.core.ConfigFileService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,8 +64,8 @@ public class PolarisRefreshAffectedContextRefresher extends PolarisConfigPropert public PolarisRefreshAffectedContextRefresher(PolarisConfigProperties polarisConfigProperties, SpringValueRegistry springValueRegistry, PlaceholderHelper placeholderHelper, - ConfigFileService configFileService, ContextRefresher contextRefresher) { - super(polarisConfigProperties, configFileService); + ConfigFileService configFileService, ContextRefresher contextRefresher, SDKContext context) { + super(polarisConfigProperties, configFileService, context); this.springValueRegistry = springValueRegistry; this.placeholderHelper = placeholderHelper; this.contextRefresher = contextRefresher; diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresher.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresher.java index 3520a22a5..938fb29b4 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresher.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresher.java @@ -21,6 +21,7 @@ import java.util.Set; import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; +import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.configuration.api.core.ConfigFileService; import org.springframework.beans.BeansException; @@ -45,9 +46,10 @@ public class PolarisRefreshEntireContextRefresher extends PolarisConfigPropertyA private ConfigurableApplicationContext context; public PolarisRefreshEntireContextRefresher(PolarisConfigProperties polarisConfigProperties, - SpringValueRegistry springValueRegistry, ConfigFileService configFileService, ContextRefresher contextRefresher) { + SpringValueRegistry springValueRegistry, ConfigFileService configFileService, + ContextRefresher contextRefresher, SDKContext context) { - super(polarisConfigProperties, configFileService); + super(polarisConfigProperties, configFileService, context); this.springValueRegistry = springValueRegistry; this.contextRefresher = contextRefresher; } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java index 5d19faec4..a4813f33c 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/MockedConfigKVFile.java @@ -192,4 +192,9 @@ public class MockedConfigKVFile implements ConfigKVFile { public String getFileName() { return fileName; } + + @Override + public String getFileVersion() { + return ""; + } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java index e9a516677..243d98591 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java @@ -31,6 +31,9 @@ import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; import com.tencent.cloud.polaris.config.spring.property.PlaceholderHelper; import com.tencent.cloud.polaris.config.spring.property.SpringValue; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; +import com.tencent.polaris.api.plugin.common.ValueContext; +import com.tencent.polaris.api.plugin.compose.Extensions; +import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.configuration.api.core.ChangeType; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.api.core.ConfigKVFileChangeEvent; @@ -80,6 +83,15 @@ public class PolarisPropertiesSourceAutoRefresherTest { @Mock private ContextRefresher contextRefresher; + @Mock + private SDKContext sdkContext; + + @Mock + private Extensions extensions; + + @Mock + private ValueContext valueContext; + @BeforeEach public void setUp() { PolarisPropertySourceManager.clearPropertySources(); @@ -88,7 +100,7 @@ public class PolarisPropertiesSourceAutoRefresherTest { @Test public void testConfigFileChanged() throws Exception { PolarisRefreshAffectedContextRefresher refresher = new PolarisRefreshAffectedContextRefresher( - polarisConfigProperties, springValueRegistry, placeholderHelper, configFileService, contextRefresher); + polarisConfigProperties, springValueRegistry, placeholderHelper, configFileService, contextRefresher, sdkContext); ConfigurableApplicationContext applicationContext = mock(ConfigurableApplicationContext.class); ConfigurableListableBeanFactory beanFactory = mock(ConfigurableListableBeanFactory.class); TypeConverter typeConverter = mock(TypeConverter.class); @@ -107,6 +119,10 @@ public class PolarisPropertiesSourceAutoRefresherTest { when(springValueRegistry.get(any(), any())).thenReturn(springValues); when(polarisConfigProperties.isAutoRefresh()).thenReturn(true); + when(sdkContext.getExtensions()).thenReturn(extensions); + when(extensions.getValueContext()).thenReturn(valueContext); + when(valueContext.getClientId()).thenReturn("mockClientId"); + when(valueContext.getHost()).thenReturn("mockHost"); Map content = new HashMap<>(); content.put("k1", "v1"); @@ -126,7 +142,7 @@ public class PolarisPropertiesSourceAutoRefresherTest { changeInfos.put("k2", changeInfo3); changeInfos.put("k4", changeInfo2); - ConfigKVFileChangeEvent event = new ConfigKVFileChangeEvent(changeInfos); + ConfigKVFileChangeEvent event = new ConfigKVFileChangeEvent(changeInfos, null); refresher.onApplicationEvent(null); file.fireChangeListener(event); @@ -140,7 +156,7 @@ public class PolarisPropertiesSourceAutoRefresherTest { @Test public void testConfigFileGroupChanged() throws Exception { PolarisRefreshAffectedContextRefresher refresher = new PolarisRefreshAffectedContextRefresher( - polarisConfigProperties, springValueRegistry, placeholderHelper, configFileService, contextRefresher); + polarisConfigProperties, springValueRegistry, placeholderHelper, configFileService, contextRefresher, sdkContext); ConfigurableApplicationContext applicationContext = mock(ConfigurableApplicationContext.class); ConfigurableListableBeanFactory beanFactory = mock(ConfigurableListableBeanFactory.class); TypeConverter typeConverter = mock(TypeConverter.class); @@ -186,6 +202,8 @@ public class PolarisPropertiesSourceAutoRefresherTest { when(configFileService.getConfigPropertiesFile(testNamespace, testFileGroup, "file2.properties")) .thenReturn(file2); + when(sdkContext.getExtensions()).thenReturn(extensions); + when(extensions.getValueContext()).thenReturn(valueContext); revisableConfigFileGroup.updateConfigFileList(Arrays.asList(file, file2), "v2"); Thread.sleep(5000); @@ -203,7 +221,7 @@ public class PolarisPropertiesSourceAutoRefresherTest { changeInfos.put("k1", changeInfo); changeInfos.put("k3.1", changeInfo2); changeInfos.put("k4", changeInfo3); - ConfigKVFileChangeEvent event = new ConfigKVFileChangeEvent(changeInfos); + ConfigKVFileChangeEvent event = new ConfigKVFileChangeEvent(changeInfos, null); file2.fireChangeListener(event); Thread.sleep(5000); diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresherTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresherTest.java index dc90f2e37..09a341146 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresherTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisRefreshEntireContextRefresherTest.java @@ -25,6 +25,7 @@ import java.util.Set; import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; +import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.configuration.api.core.ConfigFileService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -70,6 +71,9 @@ public class PolarisRefreshEntireContextRefresherTest { private PolarisRefreshEntireContextRefresher refresher; + @Mock + private SDKContext context; + @BeforeEach void setUp() { MockitoAnnotations.openMocks(this); @@ -77,7 +81,8 @@ public class PolarisRefreshEntireContextRefresherTest { polarisConfigProperties, springValueRegistry, configFileService, - contextRefresher + contextRefresher, + context ); refresher.setApplicationContext(applicationContext); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java index 7630a60f9..fa650c817 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java @@ -21,9 +21,8 @@ import java.time.LocalDateTime; import com.tencent.cloud.polaris.PolarisDiscoveryProperties; import com.tencent.polaris.api.plugin.compose.Extensions; +import com.tencent.polaris.api.plugin.event.EventConstants; import com.tencent.polaris.api.plugin.event.FlowEvent; -import com.tencent.polaris.api.plugin.event.FlowEventConstants; -import com.tencent.polaris.api.pojo.ServiceEventKey; import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.client.flow.BaseFlow; import org.slf4j.Logger; @@ -97,8 +96,8 @@ public class PolarisAutoServiceRegistration extends AbstractAutoServiceRegistrat && this.registration.getPolarisContext().getExtensions() != null) { Extensions extensions = this.registration.getPolarisContext().getExtensions(); FlowEvent.Builder flowEventBuilder = new FlowEvent.Builder() - .withEventType(ServiceEventKey.EventType.INSTANCE) - .withEventName(FlowEventConstants.EventName.InstanceThreadEnd) + .withEventType(EventConstants.EventType.INSTANCE) + .withEventName(EventConstants.EventName.InstanceThreadEnd) .withTimestamp(LocalDateTime.now()) .withClientId(extensions.getValueContext().getClientId()) .withClientIp(extensions.getValueContext().getHost()) diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 2c57094be..a585ed9d1 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -73,7 +73,7 @@ 2.0.2.0-Hoxton.SR12-SNAPSHOT - 2.0.1.0-RC1 + 2.0.1.0-SNAPSHOT 32.1.3-jre 1.2.13 1.7.0 diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/resources/bootstrap.yml index 89f73c3c5..9b64718bd 100644 --- a/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/resources/bootstrap.yml @@ -13,7 +13,6 @@ spring: register: true heartbeat: enabled: true - health-check-url: /quickstart/caller/healthCheck zero-protection: enabled: true is-need-test-connectivity: true