1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

sync & commit in finchley

This commit is contained in:
fangjian0423
2019-11-11 13:47:58 +08:00
parent 6a8469fdd6
commit f8acef323b
25 changed files with 74 additions and 199 deletions

View File

@@ -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

View File

@@ -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) {

View File

@@ -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<ServiceInstance> getInstances(String serviceId) {
try {
String group = discoveryProperties.getGroup();
List<Instance> instances = nacosNamingManager.getNamingService()
List<Instance> 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<String> services = nacosNamingManager.getNamingService()
ListView<String> services = discoveryProperties.namingServiceInstance()
.getServicesOfServer(1, Integer.MAX_VALUE, group);
return services.getData();
}

View File

@@ -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

View File

@@ -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<String, Object> result = new HashMap<>();
result.put("NacosDiscoveryProperties", nacosDiscoveryProperties);
NamingService namingService = nacosNamingManager.getNamingService();
NamingService namingService = nacosDiscoveryProperties.namingServiceInstance();
List<ServiceInfo> subscribe = Collections.emptyList();
try {

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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<Registration> {
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<Registration> {
return;
}
NamingService namingService = nacosNamingManager.getNamingService();
String serviceId = registration.getServiceId();
String group = nacosDiscoveryProperties.getGroup();
@@ -125,8 +120,8 @@ public class NacosServiceRegistry implements ServiceRegistry<Registration> {
}
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<Registration> {
String serviceName = registration.getServiceId();
try {
List<Instance> instances = nacosNamingManager.getNamingService()
List<Instance> instances = nacosDiscoveryProperties.namingServiceInstance()
.getAllInstances(serviceName);
for (Instance instance : instances) {
if (instance.getIp().equalsIgnoreCase(nacosDiscoveryProperties.getIp())

View File

@@ -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;
}

View File

@@ -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<Instance> instances = namingService.selectInstances(name, true);
if (CollectionUtils.isEmpty(instances)) {
LOGGER.warn("no instance in service {}", name);

View File

@@ -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<NacosServer> {
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<NacosServer> {
private List<NacosServer> getServers() {
try {
String group = discoveryProperties.getGroup();
List<Instance> instances = nacosNamingManager.getNamingService()
List<Instance> instances = discoveryProperties.namingServiceInstance()
.selectInstances(serviceId, group, true);
return instancesToServerList(instances);
}

View File

@@ -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<ServiceInstance> 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);

View File

@@ -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<String, Object> map = nacosDiscoveryEndpoint.nacosDiscovery();
assertEquals(map.get("NacosDiscoveryProperties"), properties);
assertEquals(map.get("subscribe").toString(),
nacosNamingManager.getNamingService().getSubscribeServices().toString());
properties.namingServiceInstance().getSubscribeServices().toString());
}
@Configuration

View File

@@ -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<NacosServer> 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<NacosServer> 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<NacosServer> 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<NacosServer> servers = serverList.getUpdatedListOfServers();