From 76cfd2c7fe36a49ec617015afc607f8a7540b3b9 Mon Sep 17 00:00:00 2001 From: theonefx Date: Fri, 19 Mar 2021 11:20:30 +0800 Subject: [PATCH] port optimize --- .../consul/SidecarConsulAutoRegistration.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java index d0435bb1..051faea3 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java @@ -68,14 +68,24 @@ public class SidecarConsulAutoRegistration extends ConsulAutoRegistration { service.setEnableTagOverride(properties.getEnableTagOverride()); service.setMeta(getMetadata(properties)); - // set health check, use alibaba sidecar self's port rather than polyglot app's - // port. - service.setPort( - Integer.valueOf(context.getEnvironment().getProperty("server.port"))); - setCheck(service, autoServiceRegistrationProperties, properties, context, - heartbeatProperties); + if (sidecarProperties.getPort() != null && sidecarProperties.getPort() > 0) { + service.setPort(properties.getPort()); + } + else if (properties.getPort() != null && properties.getPort() > 0) { + service.setPort(properties.getPort()); + } + else if (context.getEnvironment().getProperty("server.port") != null) { + // set health check, use alibaba sidecar self's port rather than polyglot + // app's port. + service.setPort( + Integer.valueOf(context.getEnvironment().getProperty("server.port"))); + } - service.setPort(sidecarProperties.getPort()); + if (service.getPort() != null) { + // we know the port and can set the check + setCheck(service, autoServiceRegistrationProperties, properties, context, + heartbeatProperties); + } ConsulAutoRegistration registration = new ConsulAutoRegistration(service, autoServiceRegistrationProperties, properties, context,