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 2bbad41a9..6eae53041 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 @@ -79,7 +79,6 @@ public class PolarisServiceRegistry implements ServiceRegistry { - try { - // Check if heartbeat should still be running - if (!polarisDiscoveryProperties.getHeartbeatEnabled() || - StringUtils.isBlank(polarisDiscoveryProperties.getHealthCheckUrl())) { - LOGGER.info("Heartbeat conditions no longer met, stopping heartbeat task."); - stopHeartbeat(); - return; - } - - // Perform health check - Map headers = new HashMap<>(1); - headers.put(HttpHeaders.USER_AGENT, "polaris"); - if (!OkHttpUtil.checkUrl(heartbeatRequest.getHost(), heartbeatRequest.getPort(), - polarisDiscoveryProperties.getHealthCheckUrl(), headers)) { - LOGGER.error("Backend service health check failed. health check endpoint = {}", - polarisDiscoveryProperties.getHealthCheckUrl()); - return; - } - - // Send heartbeat - polarisSDKContextManager.getProviderAPI().heartbeat(heartbeatRequest); - LOGGER.debug("Polaris heartbeat is sent successfully."); - } - catch (PolarisException e) { - LOGGER.error("Polaris heartbeat error with code [{}]", e.getCode(), e); - } - catch (Exception e) { - LOGGER.error("Polaris heartbeat runtime error", e); - } - }, polarisDiscoveryProperties.getHeartbeatInterval(), polarisDiscoveryProperties.getHeartbeatInterval(), SECONDS); - - LOGGER.info("Heartbeat task scheduled with interval {} seconds.", polarisDiscoveryProperties.getHeartbeatInterval()); - } - - private void stopHeartbeat() { - if (heartbeatExecutor != null) { - try { - heartbeatExecutor.shutdownNow(); - if (heartbeatExecutor.awaitTermination(5, SECONDS)) { - LOGGER.info("Polaris heartbeat task stopped gracefully."); - } else { - LOGGER.warn("Polaris heartbeat task did not terminate in time."); - } - } catch (InterruptedException e) { - LOGGER.warn("Interrupted while stopping heartbeat task.", e); - Thread.currentThread().interrupt(); - } finally { - heartbeatExecutor = null; - } - } - } - - @EventListener(RefreshScopeRefreshedEvent.class) - public void onPropertyRefreshed() { - if (!polarisDiscoveryProperties.getHeartbeatEnabled()) { - LOGGER.info("Heartbeat disabled via property refresh, stopping heartbeat task."); - stopHeartbeat(); - } - } - @Override public void deregister(PolarisRegistration registration) { LOGGER.info("De-registering from Polaris Server now..."); @@ -284,8 +200,6 @@ public class PolarisServiceRegistry implements ServiceRegistry