diff --git a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java b/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java index d14f62555..6d7a59f7e 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java @@ -32,7 +32,6 @@ import com.alibaba.cloud.dubbo.registry.AbstractSpringCloudRegistry; import com.alibaba.cloud.dubbo.registry.event.ServiceInstancesChangedEvent; import com.alibaba.cloud.dubbo.registry.event.SubscribedServicesChangedEvent; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.cloud.nacos.discovery.NacosWatch; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; @@ -515,9 +514,8 @@ public class DubboServiceDiscoveryAutoConfiguration { */ private final Set listeningServices; - NacosConfiguration(NacosNamingManager nacosNamingManager, - NacosDiscoveryProperties nacosDiscoveryProperties) { - this.namingService = nacosNamingManager.getNamingService(); + NacosConfiguration(NacosDiscoveryProperties nacosDiscoveryProperties) { + this.namingService = nacosDiscoveryProperties.namingServiceInstance(); this.nacosDiscoveryProperties = nacosDiscoveryProperties; this.listeningServices = new ConcurrentSkipListSet<>(); } diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java index e65a171a3..b94cf48e9 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java @@ -5,7 +5,7 @@ import java.io.StringReader; import java.util.Properties; import java.util.concurrent.Executor; -import com.alibaba.cloud.nacos.NacosConfigManager; +import com.alibaba.cloud.nacos.NacosConfigProperties; import com.alibaba.nacos.api.config.listener.Listener; import org.springframework.beans.factory.annotation.Autowired; @@ -39,14 +39,14 @@ class SampleRunner implements ApplicationRunner { int userAge; @Autowired - private NacosConfigManager nacosConfigManager; + private NacosConfigProperties nacosConfigProperties; @Override public void run(ApplicationArguments args) throws Exception { System.out.println( String.format("Initial username=%s, userAge=%d", userName, userAge)); - nacosConfigManager.getConfigService().addListener( + nacosConfigProperties.configServiceInstance().addListener( "nacos-config-example.properties", "DEFAULT_GROUP", new Listener() { /** diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java index 9449a68e1..061f9022a 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RestController; /** * @author xiaojing */ -@EnableDiscoveryClient +@EnableDiscoveryClient(autoRegister = false) @SpringBootApplication public class ProviderApplication { diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java index 72271dd0a..400ad2e08 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java @@ -44,11 +44,6 @@ public class NacosConfigAutoConfiguration { return new NacosConfigProperties(); } - @Bean - public NacosConfigManager nacosConfigManager() { - return new NacosConfigManager(); - } - @Bean public NacosRefreshProperties nacosRefreshProperties() { return new NacosRefreshProperties(); @@ -61,10 +56,10 @@ public class NacosConfigAutoConfiguration { @Bean public NacosContextRefresher nacosContextRefresher( - NacosConfigManager nacosConfigManager, + NacosConfigProperties configProperties, NacosRefreshProperties nacosRefreshProperties, NacosRefreshHistory refreshHistory) { return new NacosContextRefresher(nacosRefreshProperties, refreshHistory, - nacosConfigManager.getConfigService()); + configProperties.configServiceInstance()); } } diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java index 980126a59..668e4b752 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java @@ -36,17 +36,10 @@ public class NacosConfigBootstrapConfiguration { return new NacosConfigProperties(); } - @Bean - @ConditionalOnMissingBean - public NacosConfigManager nacosConfigManager() { - return new NacosConfigManager(); - } - @Bean public NacosPropertySourceLocator nacosPropertySourceLocator( - NacosConfigManager nacosConfigManager, NacosConfigProperties nacosConfigProperties) { - return new NacosPropertySourceLocator(nacosConfigManager, nacosConfigProperties); + return new NacosPropertySourceLocator(nacosConfigProperties); } } diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java deleted file mode 100644 index abe6d872f..000000000 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 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 - * - * http://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.nacos; - -import java.util.Objects; - -import com.alibaba.cloud.nacos.diagnostics.analyzer.NacosConnectionFailureException; -import com.alibaba.nacos.api.NacosFactory; -import com.alibaba.nacos.api.config.ConfigService; -import com.alibaba.nacos.api.exception.NacosException; - -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @author liaochuntao - */ -public class NacosConfigManager { - - private static ConfigService service = null; - - @Autowired - private NacosConfigProperties properties; - - public ConfigService getConfigService() { - if (Objects.isNull(service)) { - try { - service = NacosFactory - .createConfigService(properties.getConfigServiceProperties()); - properties.initConfigService(service); - } - catch (NacosException e) { - throw new NacosConnectionFailureException(properties.getServerAddr(), - e.getMessage(), e); - } - } - return service; - } - -} diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java index 411fb146b..20ac1728a 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java @@ -22,7 +22,10 @@ import java.util.Properties; import javax.annotation.PostConstruct; +import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.config.ConfigService; +import com.alibaba.nacos.api.exception.NacosException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -190,7 +193,7 @@ public class NacosConfigProperties { */ private List extConfig; - private ConfigService configService; + private static ConfigService configService; // todo sts support @@ -355,18 +358,22 @@ public class NacosConfigProperties { } /** - * @see NacosConfigManager#getConfigService() . * @return ConfigService */ - @Deprecated public ConfigService configServiceInstance() { + if (null == configService) { + try { + configService = NacosFactory + .createConfigService(getConfigServiceProperties()); + } + catch (NacosException e) { + log.error("create naming service error!properties={},e=,", this, e); + return null; + } + } return configService; } - public void initConfigService(ConfigService configService) { - this.configService = configService; - } - public Properties getConfigServiceProperties() { Properties properties = new Properties(); properties.put(SERVER_ADDR, Objects.toString(this.serverAddr, "")); diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java index ee6e39526..5e6bc6aea 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java @@ -18,7 +18,6 @@ package com.alibaba.cloud.nacos.client; import java.util.List; -import com.alibaba.cloud.nacos.NacosConfigManager; import com.alibaba.cloud.nacos.NacosConfigProperties; import com.alibaba.cloud.nacos.NacosPropertySourceRepository; import com.alibaba.cloud.nacos.parser.NacosDataParserHandler; @@ -58,18 +57,14 @@ public class NacosPropertySourceLocator implements PropertySourceLocator { private NacosConfigProperties nacosConfigProperties; - private NacosConfigManager nacosConfigManager; - - public NacosPropertySourceLocator(NacosConfigManager nacosConfigManager, - NacosConfigProperties nacosConfigProperties) { - this.nacosConfigManager = nacosConfigManager; + public NacosPropertySourceLocator(NacosConfigProperties nacosConfigProperties) { this.nacosConfigProperties = nacosConfigProperties; } @Override public PropertySource locate(Environment env) { - ConfigService configService = nacosConfigManager.getConfigService(); + ConfigService configService = nacosConfigProperties.configServiceInstance(); if (null == configService) { log.warn("no instance of config service found, can't load config from nacos"); diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java index aae68ae59..457b7ebb9 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java @@ -16,7 +16,6 @@ package com.alibaba.cloud.nacos.endpoint; -import com.alibaba.cloud.nacos.NacosConfigManager; import com.alibaba.cloud.nacos.NacosConfigProperties; import com.alibaba.cloud.nacos.refresh.NacosRefreshHistory; @@ -40,9 +39,6 @@ public class NacosConfigEndpointAutoConfiguration { @Autowired private NacosConfigProperties nacosConfigProperties; - @Autowired - private NacosConfigManager nacosConfigManager; - @Autowired private NacosRefreshHistory nacosRefreshHistory; @@ -55,6 +51,7 @@ public class NacosConfigEndpointAutoConfiguration { @Bean public NacosConfigHealthIndicator nacosConfigHealthIndicator() { - return new NacosConfigHealthIndicator(nacosConfigManager.getConfigService()); + return new NacosConfigHealthIndicator( + nacosConfigProperties.configServiceInstance()); } } diff --git a/spring-cloud-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java b/spring-cloud-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java index ec26ab60e..84b38f4e5 100644 --- a/spring-cloud-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java +++ b/spring-cloud-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java @@ -21,7 +21,6 @@ import java.util.Map; import com.alibaba.cloud.nacos.NacosConfigAutoConfiguration; import com.alibaba.cloud.nacos.NacosConfigBootstrapConfiguration; -import com.alibaba.cloud.nacos.NacosConfigManager; import com.alibaba.cloud.nacos.NacosConfigProperties; import com.alibaba.cloud.nacos.refresh.NacosRefreshHistory; import com.alibaba.nacos.client.config.NacosConfigService; @@ -85,9 +84,6 @@ public class NacosConfigEndpointTests { @Autowired private NacosConfigProperties properties; - @Autowired - private NacosConfigManager nacosConfigManager; - @Autowired private NacosRefreshHistory refreshHistory; @@ -104,7 +100,7 @@ public class NacosConfigEndpointTests { Builder builder = new Builder(); NacosConfigHealthIndicator healthIndicator = new NacosConfigHealthIndicator( - nacosConfigManager.getConfigService()); + properties.configServiceInstance()); healthIndicator.doHealthCheck(builder); Builder builder1 = new Builder(); diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java index 1dbbaebb5..4158db500 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java @@ -45,23 +45,16 @@ public class NacosDiscoveryAutoConfiguration { @Bean public NacosServiceRegistry nacosServiceRegistry( - NacosNamingManager nacosNamingManager, NacosDiscoveryProperties nacosDiscoveryProperties) { - return new NacosServiceRegistry(nacosNamingManager, nacosDiscoveryProperties); - } - - @Bean - public NacosNamingManager nacosNamingManager() { - return new NacosNamingManager(); + return new NacosServiceRegistry(nacosDiscoveryProperties); } @Bean @ConditionalOnBean(AutoServiceRegistrationProperties.class) - public NacosRegistration nacosRegistration(NacosNamingManager nacosNamingManager, + public NacosRegistration nacosRegistration( NacosDiscoveryProperties nacosDiscoveryProperties, ApplicationContext context) { - return new NacosRegistration(nacosNamingManager, nacosDiscoveryProperties, - context); + return new NacosRegistration(nacosDiscoveryProperties, context); } @Bean diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 42d19c83d..919c5be46 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -183,9 +183,9 @@ public class NacosDiscoveryProperties { @Autowired private Environment environment; - private NamingService namingService; + private static NamingService namingService; - private NamingMaintainService namingMaintainService; + private static NamingMaintainService namingMaintainService; @PostConstruct public void init() throws SocketException { @@ -466,7 +466,6 @@ public class NacosDiscoveryProperties { } } - @Deprecated public NamingService namingServiceInstance() { if (null != namingService) { @@ -483,7 +482,6 @@ public class NacosDiscoveryProperties { return namingService; } - @Deprecated public NamingMaintainService namingMaintainServiceInstance() { if (null != namingMaintainService) { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosNamingManager.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosNamingManager.java deleted file mode 100644 index 8acaf0c71..000000000 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosNamingManager.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 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 - * - * http://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.nacos; - -import java.util.Objects; - -import com.alibaba.nacos.api.naming.NamingMaintainService; -import com.alibaba.nacos.api.naming.NamingService; - -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @author liaochuntao - */ -public class NacosNamingManager { - - private static NamingService namingService = null; - - private static NamingMaintainService namingMaintainService = null; - - @Autowired - private NacosDiscoveryProperties discoveryProperties; - - public NamingService getNamingService() { - if (Objects.isNull(namingService)) { - namingService = discoveryProperties.namingServiceInstance(); - } - return namingService; - } - - public NamingMaintainService getNamingMaintainService() { - if (Objects.isNull(namingMaintainService)) { - namingMaintainService = discoveryProperties.namingMaintainServiceInstance(); - } - return namingMaintainService; - } -} diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java index 2e061c6e3..550d17b25 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.Map; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.cloud.nacos.NacosServiceInstance; import com.alibaba.nacos.api.naming.pojo.Instance; import com.alibaba.nacos.api.naming.pojo.ListView; @@ -43,12 +42,9 @@ public class NacosDiscoveryClient implements DiscoveryClient { private static final Logger log = LoggerFactory.getLogger(NacosDiscoveryClient.class); public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client"; - private NacosNamingManager nacosNamingManager; private NacosDiscoveryProperties discoveryProperties; - public NacosDiscoveryClient(NacosNamingManager nacosNamingManager, - NacosDiscoveryProperties discoveryProperties) { - this.nacosNamingManager = nacosNamingManager; + public NacosDiscoveryClient(NacosDiscoveryProperties discoveryProperties) { this.discoveryProperties = discoveryProperties; } @@ -61,7 +57,7 @@ public class NacosDiscoveryClient implements DiscoveryClient { public List getInstances(String serviceId) { try { String group = discoveryProperties.getGroup(); - List instances = nacosNamingManager.getNamingService() + List instances = discoveryProperties.namingServiceInstance() .selectInstances(serviceId, group, true); return hostToServiceInstanceList(instances, serviceId); } @@ -113,7 +109,7 @@ public class NacosDiscoveryClient implements DiscoveryClient { try { String group = discoveryProperties.getGroup(); - ListView services = nacosNamingManager.getNamingService() + ListView services = discoveryProperties.namingServiceInstance() .getServicesOfServer(1, Integer.MAX_VALUE, group); return services.getData(); } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java index 261402a71..abcd947e0 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java @@ -18,7 +18,6 @@ package com.alibaba.cloud.nacos.discovery; import com.alibaba.cloud.nacos.ConditionalOnNacosDiscoveryEnabled; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -45,9 +44,9 @@ public class NacosDiscoveryClientAutoConfiguration { } @Bean - public DiscoveryClient nacosDiscoveryClient(NacosNamingManager nacosNamingManager, + public DiscoveryClient nacosDiscoveryClient( NacosDiscoveryProperties discoveryProperties) { - return new NacosDiscoveryClient(nacosNamingManager, discoveryProperties); + return new NacosDiscoveryClient(discoveryProperties); } @Bean diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java index 2218fd023..1c8045a53 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.Map; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.ServiceInfo; @@ -42,12 +41,9 @@ public class NacosDiscoveryEndpoint { private static final Logger log = LoggerFactory .getLogger(NacosDiscoveryEndpoint.class); - private NacosNamingManager nacosNamingManager; private NacosDiscoveryProperties nacosDiscoveryProperties; - public NacosDiscoveryEndpoint(NacosNamingManager nacosNamingManager, - NacosDiscoveryProperties nacosDiscoveryProperties) { - this.nacosNamingManager = nacosNamingManager; + public NacosDiscoveryEndpoint(NacosDiscoveryProperties nacosDiscoveryProperties) { this.nacosDiscoveryProperties = nacosDiscoveryProperties; } @@ -59,7 +55,7 @@ public class NacosDiscoveryEndpoint { Map result = new HashMap<>(); result.put("NacosDiscoveryProperties", nacosDiscoveryProperties); - NamingService namingService = nacosNamingManager.getNamingService(); + NamingService namingService = nacosDiscoveryProperties.namingServiceInstance(); List subscribe = Collections.emptyList(); try { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java index 61fa98b98..144bfe8bb 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java @@ -18,7 +18,6 @@ package com.alibaba.cloud.nacos.endpoint; import com.alibaba.cloud.nacos.ConditionalOnNacosDiscoveryEnabled; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; @@ -39,9 +38,8 @@ public class NacosDiscoveryEndpointAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint public NacosDiscoveryEndpoint nacosDiscoveryEndpoint( - NacosNamingManager nacosNamingManager, NacosDiscoveryProperties nacosDiscoveryProperties) { - return new NacosDiscoveryEndpoint(nacosNamingManager, nacosDiscoveryProperties); + return new NacosDiscoveryEndpoint(nacosDiscoveryProperties); } } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java index 5c1a21e6e..50add569b 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java @@ -22,7 +22,6 @@ import java.util.Map; import javax.annotation.PostConstruct; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.PreservedMetadataKeys; @@ -44,15 +43,12 @@ public class NacosRegistration implements Registration, ServiceInstance { public static final String MANAGEMENT_ADDRESS = "management.address"; public static final String MANAGEMENT_ENDPOINT_BASE_PATH = "management.endpoints.web.base-path"; - private NacosNamingManager nacosNamingManager; private NacosDiscoveryProperties nacosDiscoveryProperties; private ApplicationContext context; - public NacosRegistration(NacosNamingManager nacosNamingManager, - NacosDiscoveryProperties nacosDiscoveryProperties, + public NacosRegistration(NacosDiscoveryProperties nacosDiscoveryProperties, ApplicationContext context) { - this.nacosNamingManager = nacosNamingManager; this.nacosDiscoveryProperties = nacosDiscoveryProperties; this.context = context; } @@ -147,7 +143,7 @@ public class NacosRegistration implements Registration, ServiceInstance { } public NamingService getNacosNamingService() { - return nacosNamingManager.getNamingService(); + return nacosDiscoveryProperties.namingServiceInstance(); } @Override diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java index a587707ea..dd69ba84d 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java @@ -19,7 +19,6 @@ package com.alibaba.cloud.nacos.registry; import java.util.List; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; @@ -38,16 +37,13 @@ public class NacosServiceRegistry implements ServiceRegistry { private static final Logger log = LoggerFactory.getLogger(NacosServiceRegistry.class); - private final NacosNamingManager nacosNamingManager; private final NacosDiscoveryProperties nacosDiscoveryProperties; private final NamingService namingService; - public NacosServiceRegistry(NacosNamingManager nacosNamingManager, - NacosDiscoveryProperties nacosDiscoveryProperties) { - this.nacosNamingManager = nacosNamingManager; + public NacosServiceRegistry(NacosDiscoveryProperties nacosDiscoveryProperties) { this.nacosDiscoveryProperties = nacosDiscoveryProperties; - this.namingService = nacosNamingManager.getNamingService(); + this.namingService = nacosDiscoveryProperties.namingServiceInstance(); } @Override @@ -84,7 +80,6 @@ public class NacosServiceRegistry implements ServiceRegistry { return; } - NamingService namingService = nacosNamingManager.getNamingService(); String serviceId = registration.getServiceId(); String group = nacosDiscoveryProperties.getGroup(); @@ -125,8 +120,8 @@ public class NacosServiceRegistry implements ServiceRegistry { } try { - nacosNamingManager.getNamingMaintainService().updateInstance(serviceId, - instance); + nacosDiscoveryProperties.namingMaintainServiceInstance() + .updateInstance(serviceId, instance); } catch (Exception e) { throw new RuntimeException("update nacos instance status fail", e); @@ -139,7 +134,7 @@ public class NacosServiceRegistry implements ServiceRegistry { String serviceName = registration.getServiceId(); try { - List instances = nacosNamingManager.getNamingService() + List instances = nacosDiscoveryProperties.namingServiceInstance() .getAllInstances(serviceName); for (Instance instance : instances) { if (instance.getIp().equalsIgnoreCase(nacosDiscoveryProperties.getIp()) diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java index 44af17b59..10edd67cd 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java @@ -17,7 +17,6 @@ package com.alibaba.cloud.nacos.ribbon; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.netflix.client.config.IClientConfig; import com.netflix.loadbalancer.ServerList; @@ -37,10 +36,8 @@ public class NacosRibbonClientConfiguration { @Bean @ConditionalOnMissingBean public ServerList ribbonServerList(IClientConfig config, - NacosNamingManager nacosNamingManager, NacosDiscoveryProperties nacosDiscoveryProperties) { - NacosServerList serverList = new NacosServerList(nacosNamingManager, - nacosDiscoveryProperties); + NacosServerList serverList = new NacosServerList(nacosDiscoveryProperties); serverList.initWithNiwsConfig(config); return serverList; } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java index f2b556fa4..0c3cad20d 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java @@ -21,7 +21,6 @@ import java.util.Objects; import java.util.stream.Collectors; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; @@ -48,9 +47,6 @@ public class NacosRule extends AbstractLoadBalancerRule { @Autowired private NacosDiscoveryProperties nacosDiscoveryProperties; - @Autowired - private NacosNamingManager nacosNamingManager; - @Override public Server choose(Object key) { try { @@ -58,7 +54,8 @@ public class NacosRule extends AbstractLoadBalancerRule { DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer) getLoadBalancer(); String name = loadBalancer.getName(); - NamingService namingService = this.nacosNamingManager.getNamingService(); + NamingService namingService = this.nacosDiscoveryProperties + .namingServiceInstance(); List instances = namingService.selectInstances(name, true); if (CollectionUtils.isEmpty(instances)) { LOGGER.warn("no instance in service {}", name); diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java index 509da7c03..bc7740bbc 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.List; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.nacos.api.naming.pojo.Instance; import com.alibaba.nacos.client.naming.utils.CollectionUtils; @@ -33,14 +32,11 @@ import com.netflix.loadbalancer.AbstractServerList; */ public class NacosServerList extends AbstractServerList { - private NacosNamingManager nacosNamingManager; private NacosDiscoveryProperties discoveryProperties; private String serviceId; - public NacosServerList(NacosNamingManager nacosNamingManager, - NacosDiscoveryProperties discoveryProperties) { - this.nacosNamingManager = nacosNamingManager; + public NacosServerList(NacosDiscoveryProperties discoveryProperties) { this.discoveryProperties = discoveryProperties; } @@ -57,7 +53,7 @@ public class NacosServerList extends AbstractServerList { private List getServers() { try { String group = discoveryProperties.getGroup(); - List instances = nacosNamingManager.getNamingService() + List instances = discoveryProperties.namingServiceInstance() .selectInstances(serviceId, group, true); return instancesToServerList(instances); } diff --git a/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java b/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java index ab385b75a..fd5c108ec 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java +++ b/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java @@ -58,17 +58,16 @@ public class NacosDiscoveryClientTests { NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties.class); - NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class); NamingService namingService = mock(NamingService.class); - when(nacosNamingManager.getNamingService()).thenReturn(namingService); + when(nacosDiscoveryProperties.namingServiceInstance()).thenReturn(namingService); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(namingService.selectInstances(eq(serviceName), eq("DEFAULT"), eq(true))) .thenReturn(instances); NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient( - nacosNamingManager, nacosDiscoveryProperties); + nacosDiscoveryProperties); List serviceInstances = discoveryClient .getInstances(serviceName); @@ -100,14 +99,12 @@ public class NacosDiscoveryClientTests { NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties.class); - NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class); - NamingService namingService = mock(NamingService.class); NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient( - nacosNamingManager, nacosDiscoveryProperties); + nacosDiscoveryProperties); - when(nacosNamingManager.getNamingService()).thenReturn(namingService); + when(nacosDiscoveryProperties.namingServiceInstance()).thenReturn(namingService); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(namingService.getServicesOfServer(eq(1), eq(Integer.MAX_VALUE), eq("DEFAULT"))).thenReturn(nacosServices); diff --git a/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java b/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java index a1ba750a4..3d2c57b8a 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java +++ b/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java @@ -20,7 +20,6 @@ import java.util.Map; import com.alibaba.cloud.nacos.NacosDiscoveryAutoConfiguration; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientAutoConfiguration; import com.alibaba.cloud.nacos.endpoint.NacosDiscoveryEndpoint; @@ -76,9 +75,6 @@ public class NacosAutoServiceRegistrationTests { @Autowired private NacosDiscoveryProperties properties; - @Autowired - private NacosNamingManager nacosNamingManager; - @Autowired private InetUtils inetUtils; @@ -209,11 +205,11 @@ public class NacosAutoServiceRegistrationTests { private void checkoutEndpoint() throws Exception { NacosDiscoveryEndpoint nacosDiscoveryEndpoint = new NacosDiscoveryEndpoint( - nacosNamingManager, properties); + properties); Map map = nacosDiscoveryEndpoint.nacosDiscovery(); assertEquals(map.get("NacosDiscoveryProperties"), properties); assertEquals(map.get("subscribe").toString(), - nacosNamingManager.getNamingService().getSubscribeServices().toString()); + properties.namingServiceInstance().getSubscribeServices().toString()); } @Configuration diff --git a/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java b/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java index ac70596dc..49b20ff2b 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java +++ b/spring-cloud-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.stream.Collectors; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.NacosNamingManager; import com.alibaba.cloud.nacos.test.NacosMockTest; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; @@ -48,16 +47,14 @@ public class NacosServerListTests { public void testEmptyInstancesReturnsEmptyList() throws Exception { NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties.class); - NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class); NamingService namingService = mock(NamingService.class); - when(nacosNamingManager.getNamingService()).thenReturn(namingService); + when(nacosDiscoveryProperties.namingServiceInstance()).thenReturn(namingService); when(namingService.selectInstances(anyString(), eq("DEFAULT"), eq(true))) .thenReturn(null); - NacosServerList serverList = new NacosServerList(nacosNamingManager, - nacosDiscoveryProperties); + NacosServerList serverList = new NacosServerList(nacosDiscoveryProperties); List servers = serverList.getInitialListOfServers(); assertThat(servers).isEmpty(); } @@ -72,11 +69,10 @@ public class NacosServerListTests { NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties.class); - NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class); NamingService namingService = mock(NamingService.class); - when(nacosNamingManager.getNamingService()).thenReturn(namingService); + when(nacosDiscoveryProperties.namingServiceInstance()).thenReturn(namingService); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(namingService.selectInstances(eq("test-service"), eq("DEFAULT"), eq(true))) @@ -84,8 +80,7 @@ public class NacosServerListTests { IClientConfig clientConfig = mock(IClientConfig.class); when(clientConfig.getClientName()).thenReturn("test-service"); - NacosServerList serverList = new NacosServerList(nacosNamingManager, - nacosDiscoveryProperties); + NacosServerList serverList = new NacosServerList(nacosDiscoveryProperties); serverList.initWithNiwsConfig(clientConfig); List servers = serverList.getInitialListOfServers(); assertThat(servers).hasSize(1); @@ -108,11 +103,10 @@ public class NacosServerListTests { NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties.class); - NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class); NamingService namingService = mock(NamingService.class); - when(nacosNamingManager.getNamingService()).thenReturn(namingService); + when(nacosDiscoveryProperties.namingServiceInstance()).thenReturn(namingService); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(namingService.selectInstances(eq("test-service"), eq("DEFAULT"), eq(true))) .thenReturn(instances.stream().filter(Instance::isHealthy) @@ -120,8 +114,7 @@ public class NacosServerListTests { IClientConfig clientConfig = mock(IClientConfig.class); when(clientConfig.getClientName()).thenReturn("test-service"); - NacosServerList serverList = new NacosServerList(nacosNamingManager, - nacosDiscoveryProperties); + NacosServerList serverList = new NacosServerList(nacosDiscoveryProperties); serverList.initWithNiwsConfig(clientConfig); List servers = serverList.getInitialListOfServers(); assertThat(servers).hasSize(1); @@ -148,11 +141,10 @@ public class NacosServerListTests { NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties.class); - NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class); NamingService namingService = mock(NamingService.class); - when(nacosNamingManager.getNamingService()).thenReturn(namingService); + when(nacosDiscoveryProperties.namingServiceInstance()).thenReturn(namingService); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(namingService.selectInstances(eq("test-service"), eq("DEFAULT"), eq(true))) .thenReturn(instances.stream().filter(Instance::isHealthy) @@ -160,8 +152,7 @@ public class NacosServerListTests { IClientConfig clientConfig = mock(IClientConfig.class); when(clientConfig.getClientName()).thenReturn("test-service"); - NacosServerList serverList = new NacosServerList(nacosNamingManager, - nacosDiscoveryProperties); + NacosServerList serverList = new NacosServerList(nacosDiscoveryProperties); serverList.initWithNiwsConfig(clientConfig); List servers = serverList.getUpdatedListOfServers();