diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml index 7f059ef32..ce9ac30f5 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: cloud: nacos: + username: nacos + password: nacos discovery: server-addr: localhost:8848 gateway: @@ -17,7 +19,7 @@ sidecar: # 异构微服务的端口 port: 8060 # 异构微服务的健康检查URL - health-check-url: http://localhost:8060/health.json + #health-check-url: http://localhost:8060/health.json management: endpoint: health: diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java index 906ea7d6f..1ba5a381c 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java @@ -17,13 +17,11 @@ package com.alibaba.cloud.sidecar.nacos; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration; import com.alibaba.cloud.sidecar.SidecarAutoConfiguration; import com.alibaba.cloud.sidecar.SidecarDiscoveryClient; -import com.alibaba.cloud.sidecar.SidecarProperties; import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -32,23 +30,15 @@ import org.springframework.context.annotation.Configuration; * @author www.itmuch.com */ @Configuration(proxyBeanMethods = false) -@AutoConfigureBefore({ NacosDiscoveryAutoConfiguration.class, - SidecarAutoConfiguration.class }) -@ConditionalOnClass(NacosDiscoveryProperties.class) +@AutoConfigureBefore(SidecarAutoConfiguration.class) +@ConditionalOnBean(NacosDiscoveryProperties.class) public class SidecarNacosAutoConfiguration { - @Bean - @ConditionalOnMissingBean - public SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties( - SidecarProperties sidecarProperties) { - return new SidecarNacosDiscoveryProperties(sidecarProperties); - } - @Bean @ConditionalOnMissingBean public SidecarDiscoveryClient sidecarDiscoveryClient( - SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties) { - return new SidecarNacosDiscoveryClient(sidecarNacosDiscoveryProperties); + NacosDiscoveryProperties nacosDiscoveryProperties) { + return new SidecarNacosDiscoveryClient(nacosDiscoveryProperties); } } diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java index e4302afee..15b6f35c5 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java @@ -16,6 +16,7 @@ package com.alibaba.cloud.sidecar.nacos; +import com.alibaba.cloud.nacos.NacosDiscoveryProperties; import com.alibaba.cloud.sidecar.SidecarDiscoveryClient; import com.alibaba.nacos.api.exception.NacosException; import org.slf4j.Logger; @@ -29,18 +30,18 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient { private static final Logger log = LoggerFactory .getLogger(SidecarNacosDiscoveryClient.class); - private final SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties; + private final NacosDiscoveryProperties nacosDiscoveryProperties; public SidecarNacosDiscoveryClient( - SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties) { - this.sidecarNacosDiscoveryProperties = sidecarNacosDiscoveryProperties; + NacosDiscoveryProperties nacosDiscoveryProperties) { + this.nacosDiscoveryProperties = nacosDiscoveryProperties; } @Override public void registerInstance(String applicationName, String ip, Integer port) { try { - this.sidecarNacosDiscoveryProperties.namingServiceInstance() - .registerInstance(applicationName, ip, port); + this.nacosDiscoveryProperties.namingServiceInstance() + .registerInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port); } catch (NacosException e) { log.warn("nacos exception happens", e); @@ -50,8 +51,8 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient { @Override public void deregisterInstance(String applicationName, String ip, Integer port) { try { - this.sidecarNacosDiscoveryProperties.namingServiceInstance() - .deregisterInstance(applicationName, ip, port); + this.nacosDiscoveryProperties.namingServiceInstance() + .deregisterInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port); } catch (NacosException e) { log.warn("nacos exception happens", e); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java deleted file mode 100644 index d58c60c16..000000000 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.sidecar.nacos; - -import java.net.SocketException; - -import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.sidecar.SidecarProperties; -import org.apache.commons.lang3.StringUtils; - -/** - * @author itmuch.com - */ -public class SidecarNacosDiscoveryProperties extends NacosDiscoveryProperties { - - private final SidecarProperties sidecarProperties; - - public SidecarNacosDiscoveryProperties(SidecarProperties sidecarProperties) { - this.sidecarProperties = sidecarProperties; - } - - @Override - public void init() throws SocketException { - super.init(); - - String ip = sidecarProperties.getIp(); - if (StringUtils.isNotBlank(ip)) { - this.setIp(ip); - } - - Integer port = sidecarProperties.getPort(); - this.setPort(port); - } - -}