diff --git a/CHANGELOG.md b/CHANGELOG.md index fcec50bc3..b1d7e74be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,4 +2,5 @@ --- - [Optimize:optimize SpringValueProcessor.](https://github.com/Tencent/spring-cloud-tencent/pull/668) +- [Optimize: Register the service with the ProviderAPI#registerInstance method.](https://github.com/Tencent/spring-cloud-tencent/pull/685) - [Optimize:optimize spring annotation.](https://github.com/Tencent/spring-cloud-tencent/pull/688) diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java index 731676858..cf1b9dfff 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/PolarisDiscoveryProperties.java @@ -84,12 +84,6 @@ public class PolarisDiscoveryProperties { @Value("${spring.cloud.polaris.discovery.register:#{true}}") private Boolean registerEnabled; - /** - * If heartbeat enabled. - */ - @Value("${spring.cloud.polaris.discovery.heartbeat.enabled:#{true}}") - private Boolean heartbeatEnabled = true; - /** * Heartbeat interval ( 0 < interval <= 60). * Time unit: second. Default: 5. @@ -108,15 +102,6 @@ public class PolarisDiscoveryProperties { */ private Long serviceListRefreshInterval = 60000L; - - public boolean isHeartbeatEnabled() { - return heartbeatEnabled; - } - - public void setHeartbeatEnabled(Boolean heartbeatEnabled) { - this.heartbeatEnabled = heartbeatEnabled; - } - public String getNamespace() { return namespace; } @@ -206,7 +191,7 @@ public class PolarisDiscoveryProperties { } public Integer getHeartbeatInterval() { - if (this.heartbeatEnabled && (this.heartbeatInterval <= 0 || this.heartbeatInterval > 60)) { + if (this.heartbeatInterval <= 0 || this.heartbeatInterval > 60) { heartbeatInterval = DEFAULT_REGISTRY_HEARTBEAT_TIME_INTERVAL; } return heartbeatInterval; @@ -228,10 +213,6 @@ public class PolarisDiscoveryProperties { this.registerEnabled = registerEnabled; } - public Boolean getHeartbeatEnabled() { - return heartbeatEnabled; - } - @Override public String toString() { return "PolarisDiscoveryProperties{" + @@ -244,7 +225,6 @@ public class PolarisDiscoveryProperties { ", port=" + port + ", enabled=" + enabled + ", registerEnabled=" + registerEnabled + - ", heartbeatEnabled=" + heartbeatEnabled + ", heartbeatInterval=" + heartbeatInterval + ", healthCheckUrl='" + healthCheckUrl + '\'' + ", serviceListRefreshInterval=" + serviceListRefreshInterval + diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java index e27bb27b2..4a2afd880 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java @@ -68,7 +68,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { try { String healthCheckEndpoint = polarisDiscoveryProperties.getHealthCheckUrl(); - // First determine whether health-check-url is configured. - // If configured, the service instance health check needs to be executed - // first. // If the health check passes, the heartbeat will be reported. // If it does not pass, the heartbeat will not be reported. - if (StringUtils.isNotBlank(healthCheckEndpoint)) { - if (!healthCheckEndpoint.startsWith("/")) { - healthCheckEndpoint = "/" + healthCheckEndpoint; - } - - String healthCheckUrl = String.format("http://%s:%s%s", heartbeatRequest.getHost(), - heartbeatRequest.getPort(), healthCheckEndpoint); - - if (!OkHttpUtil.get(healthCheckUrl, null)) { - LOGGER.error("backend service health check failed. health check endpoint = {}", - healthCheckEndpoint); - return; - } + if (!healthCheckEndpoint.startsWith("/")) { + healthCheckEndpoint = "/" + healthCheckEndpoint; + } + + String healthCheckUrl = String.format("http://%s:%s%s", heartbeatRequest.getHost(), + heartbeatRequest.getPort(), healthCheckEndpoint); + + if (!OkHttpUtil.get(healthCheckUrl, null)) { + LOGGER.error("backend service health check failed. health check endpoint = {}", + healthCheckEndpoint); + return; } polarisDiscoveryHandler.getProviderAPI().heartbeat(heartbeatRequest); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java index 52a264868..6b7ed6e47 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java @@ -37,10 +37,6 @@ public class PolarisDiscoveryPropertiesTest { public void testGetAndSet() { PolarisDiscoveryProperties polarisDiscoveryProperties = new PolarisDiscoveryProperties(); - // HeartbeatEnabled - polarisDiscoveryProperties.setHeartbeatEnabled(true); - assertThat(polarisDiscoveryProperties.isHeartbeatEnabled()).isTrue(); - // HeartbeatEnabled polarisDiscoveryProperties.setHeartbeatInterval(200); assertThat(polarisDiscoveryProperties.getHeartbeatInterval()).isEqualTo(5); @@ -103,7 +99,6 @@ public class PolarisDiscoveryPropertiesTest { + ", port=9091" + ", enabled=true" + ", registerEnabled=true" - + ", heartbeatEnabled=true" + ", heartbeatInterval=20" + ", healthCheckUrl='/health'" + ", serviceListRefreshInterval=1000}");