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

style(nacos): Standard code style.

This commit is contained in:
chuntaojun 2019-09-05 11:13:59 +08:00
parent 7265046eab
commit e4d85b6c7e
26 changed files with 217 additions and 206 deletions

View File

@ -58,7 +58,7 @@ class SampleRunner implements ApplicationRunner {
* user.name=Nacos user.age=25 * user.name=Nacos user.age=25
* *
* @param configInfo latest config data for specific dataId in Nacos * @param configInfo latest config data for specific dataId in Nacos
* server * server
*/ */
@Override @Override
public void receiveConfigInfo(String configInfo) { public void receiveConfigInfo(String configInfo) {

View File

@ -48,8 +48,8 @@ public class ConsumerApplication {
String divide(@RequestParam("a") Integer a, @RequestParam("b") Integer b); String divide(@RequestParam("a") Integer a, @RequestParam("b") Integer b);
default String divide(Integer a) { default String divide(Integer a) {
return divide(a, 0); return divide(a, 0);
} }
@GetMapping(value = "/notFound") @GetMapping(value = "/notFound")
String notFound(); String notFound();

View File

@ -71,10 +71,10 @@ public class TestController {
return echoService.divide(a, b); return echoService.divide(a, b);
} }
@GetMapping(value = "/divide-feign2") @GetMapping(value = "/divide-feign2")
public String divide(@RequestParam Integer a) { public String divide(@RequestParam Integer a) {
return echoService.divide(a); return echoService.divide(a);
} }
@GetMapping(value = "/echo-feign/{str}") @GetMapping(value = "/echo-feign/{str}")
public String feign(@PathVariable String str) { public String feign(@PathVariable String str) {

View File

@ -1,12 +1,12 @@
package com.alibaba.cloud.examples; package com.alibaba.cloud.examples;
public class UrlCleaner { public class UrlCleaner {
public static String clean(String url) { public static String clean(String url) {
System.out.println("enter urlCleaner"); System.out.println("enter urlCleaner");
if (url.matches(".*/echo/.*")) { if (url.matches(".*/echo/.*")) {
System.out.println("change url"); System.out.println("change url");
url = url.replaceAll("/echo/.*", "/echo/{str}"); url = url.replaceAll("/echo/.*", "/echo/{str}");
} }
return url; return url;
} }
} }

View File

@ -27,15 +27,17 @@ import org.springframework.context.ApplicationContextAware;
*/ */
public class NacosConfigManager implements ApplicationContextAware { public class NacosConfigManager implements ApplicationContextAware {
private ConfigService configService; private ConfigService configService;
public ConfigService getConfigService() { public ConfigService getConfigService() {
return configService; return configService;
} }
@Override @Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { public void setApplicationContext(ApplicationContext applicationContext)
NacosConfigProperties properties = applicationContext.getBean(NacosConfigProperties.class); throws BeansException {
configService = properties.configServiceInstance(); NacosConfigProperties properties = applicationContext
} .getBean(NacosConfigProperties.class);
configService = properties.configServiceInstance();
}
} }

View File

@ -72,9 +72,11 @@ public class NacosConfigProperties {
private void overrideFromEnv() { private void overrideFromEnv() {
if (StringUtils.isEmpty(this.getServerAddr())) { if (StringUtils.isEmpty(this.getServerAddr())) {
String serverAddr = environment.resolvePlaceholders("${spring.cloud.nacos.config.server-addr:}"); String serverAddr = environment
if(StringUtils.isEmpty(serverAddr)) { .resolvePlaceholders("${spring.cloud.nacos.config.server-addr:}");
serverAddr = environment.resolvePlaceholders("${spring.cloud.nacos.server-addr}"); if (StringUtils.isEmpty(serverAddr)) {
serverAddr = environment
.resolvePlaceholders("${spring.cloud.nacos.server-addr}");
} }
this.setServerAddr(serverAddr); this.setServerAddr(serverAddr);
} }
@ -110,25 +112,26 @@ public class NacosConfigProperties {
private int timeout = 3000; private int timeout = 3000;
/** /**
* nacos maximum number of tolerable server reconnection errors. * nacos maximum number of tolerable server reconnection errors.
*/ */
private String maxRetry; private String maxRetry;
/** /**
* nacos get config long poll timeout. * nacos get config long poll timeout.
*/ */
private String configLongPollTimeout; private String configLongPollTimeout;
/** /**
* nacos get config failure retry time. * nacos get config failure retry time.
*/ */
private String configRetryTime; private String configRetryTime;
/** /**
* If you want to pull it yourself when the program starts to get the configuration for the first time, * If you want to pull it yourself when the program starts to get the configuration
* and the registered Listener is used for future configuration updates, you can keep the original * for the first time, and the registered Listener is used for future configuration
* code unchanged, just add the system parameter: enableRemoteSyncConfig = "true" ( But there is network overhead); * updates, you can keep the original code unchanged, just add the system parameter:
* therefore we recommend that you use {@link ConfigService#getConfigAndSignListener} directly. * enableRemoteSyncConfig = "true" ( But there is network overhead); therefore we
* recommend that you use {@link ConfigService#getConfigAndSignListener} directly.
*/ */
private boolean enableRemoteSyncConfig = false; private boolean enableRemoteSyncConfig = false;
@ -163,9 +166,9 @@ public class NacosConfigProperties {
*/ */
private String clusterName; private String clusterName;
/** /**
* nacos config dataId name. * nacos config dataId name.
*/ */
private String name; private String name;
/** /**
@ -233,27 +236,27 @@ public class NacosConfigProperties {
} }
public void setMaxRetry(String maxRetry) { public void setMaxRetry(String maxRetry) {
this.maxRetry = maxRetry; this.maxRetry = maxRetry;
} }
public String getConfigLongPollTimeout() { public String getConfigLongPollTimeout() {
return configLongPollTimeout; return configLongPollTimeout;
} }
public void setConfigLongPollTimeout(String configLongPollTimeout) { public void setConfigLongPollTimeout(String configLongPollTimeout) {
this.configLongPollTimeout = configLongPollTimeout; this.configLongPollTimeout = configLongPollTimeout;
} }
public String getConfigRetryTime() { public String getConfigRetryTime() {
return configRetryTime; return configRetryTime;
} }
public void setConfigRetryTime(String configRetryTime) { public void setConfigRetryTime(String configRetryTime) {
this.configRetryTime = configRetryTime; this.configRetryTime = configRetryTime;
} }
public Boolean getEnableRemoteSyncConfig() { public Boolean getEnableRemoteSyncConfig() {
return enableRemoteSyncConfig; return enableRemoteSyncConfig;
} }
public void setEnableRemoteSyncConfig(Boolean enableRemoteSyncConfig) { public void setEnableRemoteSyncConfig(Boolean enableRemoteSyncConfig) {
@ -416,9 +419,11 @@ public class NacosConfigProperties {
properties.put(CONTEXT_PATH, Objects.toString(this.contextPath, "")); properties.put(CONTEXT_PATH, Objects.toString(this.contextPath, ""));
properties.put(CLUSTER_NAME, Objects.toString(this.clusterName, "")); properties.put(CLUSTER_NAME, Objects.toString(this.clusterName, ""));
properties.put(MAX_RETRY, Objects.toString(this.maxRetry, "")); properties.put(MAX_RETRY, Objects.toString(this.maxRetry, ""));
properties.put(CONFIG_LONG_POLL_TIMEOUT, Objects.toString(this.configLongPollTimeout, "")); properties.put(CONFIG_LONG_POLL_TIMEOUT,
Objects.toString(this.configLongPollTimeout, ""));
properties.put(CONFIG_RETRY_TIME, Objects.toString(this.configRetryTime, "")); properties.put(CONFIG_RETRY_TIME, Objects.toString(this.configRetryTime, ""));
properties.put(ENABLE_REMOTE_SYNC_CONFIG, Objects.toString(this.enableRemoteSyncConfig, "")); properties.put(ENABLE_REMOTE_SYNC_CONFIG,
Objects.toString(this.enableRemoteSyncConfig, ""));
String endpoint = Objects.toString(this.endpoint, ""); String endpoint = Objects.toString(this.endpoint, "");
if (endpoint.contains(":")) { if (endpoint.contains(":")) {

View File

@ -57,7 +57,8 @@ public class NacosPropertySourceLocator implements PropertySourceLocator {
private NacosConfigManager nacosConfigManager; private NacosConfigManager nacosConfigManager;
public NacosPropertySourceLocator(NacosConfigManager nacosConfigManager, NacosConfigProperties nacosConfigProperties) { public NacosPropertySourceLocator(NacosConfigManager nacosConfigManager,
NacosConfigProperties nacosConfigProperties) {
this.nacosConfigManager = nacosConfigManager; this.nacosConfigManager = nacosConfigManager;
this.nacosConfigProperties = nacosConfigProperties; this.nacosConfigProperties = nacosConfigProperties;
} }
@ -199,19 +200,16 @@ public class NacosPropertySourceLocator implements PropertySourceLocator {
if (stringBuilder.length() > 0) { if (stringBuilder.length() > 0) {
String result = stringBuilder.substring(0, stringBuilder.length() - 1); String result = stringBuilder.substring(0, stringBuilder.length() - 1);
throw new IllegalStateException(String.format( throw new IllegalStateException(String.format(
"[%s] must end file extension with properties|yaml|yml", "[%s] must end file extension with properties|yaml|yml", result));
result));
} }
} }
private static boolean canLoadFileExtension(String dataId) { private static boolean canLoadFileExtension(String dataId) {
return SUPPORT_FILE_EXTENSION.stream() return SUPPORT_FILE_EXTENSION.stream().anyMatch(
.anyMatch((fileExtension) -> StringUtils.endsWithIgnoreCase(dataId, (fileExtension) -> StringUtils.endsWithIgnoreCase(dataId, fileExtension));
fileExtension));
} }
private boolean checkDataIdIsRefreshable(String refreshDataIds, private boolean checkDataIdIsRefreshable(String refreshDataIds, String sharedDataId) {
String sharedDataId) {
if (StringUtils.isEmpty(refreshDataIds)) { if (StringUtils.isEmpty(refreshDataIds)) {
return false; return false;
} }

View File

@ -42,8 +42,8 @@ public class NacosConfigEndpoint {
private final NacosRefreshHistory refreshHistory; private final NacosRefreshHistory refreshHistory;
private ThreadLocal<DateFormat> dateFormat = ThreadLocal.withInitial(() -> private ThreadLocal<DateFormat> dateFormat = ThreadLocal
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); .withInitial(() -> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
public NacosConfigEndpoint(NacosConfigProperties properties, public NacosConfigEndpoint(NacosConfigProperties properties,
NacosRefreshHistory refreshHistory) { NacosRefreshHistory refreshHistory) {

View File

@ -20,8 +20,7 @@ import com.alibaba.cloud.nacos.endpoint.NacosConfigEndpointAutoConfiguration;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = NacosConfigPropertiesServerAddressBothLevelTests.TestConfig.class, properties = { @SpringBootTest(classes = NacosConfigPropertiesServerAddressBothLevelTests.TestConfig.class, properties = {
"spring.cloud.nacos.config.server-addr=321,321,321,321:8848", "spring.cloud.nacos.config.server-addr=321,321,321,321:8848",
"spring.cloud.nacos.server-addr=123.123.123.123:8848" "spring.cloud.nacos.server-addr=123.123.123.123:8848" }, webEnvironment = RANDOM_PORT)
}, webEnvironment = RANDOM_PORT)
public class NacosConfigPropertiesServerAddressBothLevelTests { public class NacosConfigPropertiesServerAddressBothLevelTests {
@Autowired @Autowired
@ -29,7 +28,8 @@ public class NacosConfigPropertiesServerAddressBothLevelTests {
@Test @Test
public void testGetServerAddr() { public void testGetServerAddr() {
assertEquals("NacosConfigProperties server address was wrong","321,321,321,321:8848", properties.getServerAddr()); assertEquals("NacosConfigProperties server address was wrong",
"321,321,321,321:8848", properties.getServerAddr());
} }
@Configuration @Configuration

View File

@ -19,8 +19,7 @@ import com.alibaba.cloud.nacos.endpoint.NacosConfigEndpointAutoConfiguration;
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = NacosConfigPropertiesServerAddressTopLevelTests.TestConfig.class, properties = { @SpringBootTest(classes = NacosConfigPropertiesServerAddressTopLevelTests.TestConfig.class, properties = {
"spring.cloud.nacos.server-addr=123.123.123.123:8848" "spring.cloud.nacos.server-addr=123.123.123.123:8848" }, webEnvironment = RANDOM_PORT)
}, webEnvironment = RANDOM_PORT)
public class NacosConfigPropertiesServerAddressTopLevelTests { public class NacosConfigPropertiesServerAddressTopLevelTests {
@Autowired @Autowired
@ -28,7 +27,8 @@ public class NacosConfigPropertiesServerAddressTopLevelTests {
@Test @Test
public void testGetServerAddr() { public void testGetServerAddr() {
assertEquals("NacosConfigProperties server address was wrong","123.123.123.123:8848", properties.getServerAddr()); assertEquals("NacosConfigProperties server address was wrong",
"123.123.123.123:8848", properties.getServerAddr());
} }
@Configuration @Configuration

View File

@ -57,11 +57,11 @@ public class NacosDiscoveryAutoConfiguration {
@Bean @Bean
@ConditionalOnBean(AutoServiceRegistrationProperties.class) @ConditionalOnBean(AutoServiceRegistrationProperties.class)
public NacosRegistration nacosRegistration( public NacosRegistration nacosRegistration(NacosNamingManager nacosNamingManager,
NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties nacosDiscoveryProperties, NacosDiscoveryProperties nacosDiscoveryProperties,
ApplicationContext context) { ApplicationContext context) {
return new NacosRegistration(nacosNamingManager, nacosDiscoveryProperties, context); return new NacosRegistration(nacosNamingManager, nacosDiscoveryProperties,
context);
} }
@Bean @Bean

View File

@ -427,7 +427,8 @@ public class NacosDiscoveryProperties {
public void overrideFromEnv(Environment env) { public void overrideFromEnv(Environment env) {
if (StringUtils.isEmpty(this.getServerAddr())) { if (StringUtils.isEmpty(this.getServerAddr())) {
String serverAddr = env.resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}"); String serverAddr = env
.resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}");
if (StringUtils.isEmpty(serverAddr)) { if (StringUtils.isEmpty(serverAddr)) {
serverAddr = env.resolvePlaceholders("${spring.cloud.nacos.server-addr}"); serverAddr = env.resolvePlaceholders("${spring.cloud.nacos.server-addr}");
} }
@ -459,7 +460,7 @@ public class NacosDiscoveryProperties {
} }
if (StringUtils.isEmpty(this.getGroup())) { if (StringUtils.isEmpty(this.getGroup())) {
this.setGroup( this.setGroup(
env.resolvePlaceholders("${spring.cloud.nacos.discovery.group:}")); env.resolvePlaceholders("${spring.cloud.nacos.discovery.group:}"));
} }
} }

View File

@ -28,21 +28,23 @@ import org.springframework.context.ApplicationContextAware;
*/ */
public class NacosNamingManager implements ApplicationContextAware { public class NacosNamingManager implements ApplicationContextAware {
private NamingService namingService; private NamingService namingService;
private NamingMaintainService namingMaintainService; private NamingMaintainService namingMaintainService;
public NamingService getNamingService() { public NamingService getNamingService() {
return namingService; return namingService;
} }
public NamingMaintainService getNamingMaintainService() { public NamingMaintainService getNamingMaintainService() {
return namingMaintainService; return namingMaintainService;
} }
@Override @Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { public void setApplicationContext(ApplicationContext applicationContext)
NacosDiscoveryProperties properties = applicationContext.getBean(NacosDiscoveryProperties.class); throws BeansException {
namingService = properties.namingServiceInstance(); NacosDiscoveryProperties properties = applicationContext
namingMaintainService = properties.namingMaintainServiceInstance(); .getBean(NacosDiscoveryProperties.class);
} namingService = properties.namingServiceInstance();
namingMaintainService = properties.namingMaintainServiceInstance();
}
} }

View File

@ -38,83 +38,86 @@ import java.util.Map;
*/ */
public class NacosDiscoveryClient implements DiscoveryClient { public class NacosDiscoveryClient implements DiscoveryClient {
private static final Logger log = LoggerFactory.getLogger(NacosDiscoveryClient.class); private static final Logger log = LoggerFactory.getLogger(NacosDiscoveryClient.class);
public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client"; public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client";
private NacosNamingManager nacosNamingManager; private NacosNamingManager nacosNamingManager;
private NacosDiscoveryProperties discoveryProperties; private NacosDiscoveryProperties discoveryProperties;
public NacosDiscoveryClient(NacosNamingManager nacosNamingManager, NacosDiscoveryProperties discoveryProperties) { public NacosDiscoveryClient(NacosNamingManager nacosNamingManager,
this.nacosNamingManager = nacosNamingManager; NacosDiscoveryProperties discoveryProperties) {
this.discoveryProperties = discoveryProperties; this.nacosNamingManager = nacosNamingManager;
} this.discoveryProperties = discoveryProperties;
}
@Override @Override
public String description() { public String description() {
return DESCRIPTION; return DESCRIPTION;
} }
@Override @Override
public List<ServiceInstance> getInstances(String serviceId) { public List<ServiceInstance> getInstances(String serviceId) {
try { try {
String group = discoveryProperties.getGroup(); String group = discoveryProperties.getGroup();
List<Instance> instances = nacosNamingManager.getNamingService() List<Instance> instances = nacosNamingManager.getNamingService()
.selectInstances(serviceId, group, true); .selectInstances(serviceId, group, true);
return hostToServiceInstanceList(instances, serviceId); return hostToServiceInstanceList(instances, serviceId);
} catch (Exception e) { }
throw new RuntimeException( catch (Exception e) {
"Can not get hosts from nacos server. serviceId: " + serviceId, e); throw new RuntimeException(
} "Can not get hosts from nacos server. serviceId: " + serviceId, e);
} }
}
public static ServiceInstance hostToServiceInstance(Instance instance, public static ServiceInstance hostToServiceInstance(Instance instance,
String serviceId) { String serviceId) {
if (instance == null || !instance.isEnabled() || !instance.isHealthy()) { if (instance == null || !instance.isEnabled() || !instance.isHealthy()) {
return null; return null;
} }
NacosServiceInstance nacosServiceInstance = new NacosServiceInstance(); NacosServiceInstance nacosServiceInstance = new NacosServiceInstance();
nacosServiceInstance.setHost(instance.getIp()); nacosServiceInstance.setHost(instance.getIp());
nacosServiceInstance.setPort(instance.getPort()); nacosServiceInstance.setPort(instance.getPort());
nacosServiceInstance.setServiceId(serviceId); nacosServiceInstance.setServiceId(serviceId);
Map<String, String> metadata = new HashMap<>(); Map<String, String> metadata = new HashMap<>();
metadata.put("nacos.instanceId", instance.getInstanceId()); metadata.put("nacos.instanceId", instance.getInstanceId());
metadata.put("nacos.weight", instance.getWeight() + ""); metadata.put("nacos.weight", instance.getWeight() + "");
metadata.put("nacos.healthy", instance.isHealthy() + ""); metadata.put("nacos.healthy", instance.isHealthy() + "");
metadata.put("nacos.cluster", instance.getClusterName() + ""); metadata.put("nacos.cluster", instance.getClusterName() + "");
metadata.putAll(instance.getMetadata()); metadata.putAll(instance.getMetadata());
nacosServiceInstance.setMetadata(metadata); nacosServiceInstance.setMetadata(metadata);
if (metadata.containsKey("secure")) { if (metadata.containsKey("secure")) {
boolean secure = Boolean.parseBoolean(metadata.get("secure")); boolean secure = Boolean.parseBoolean(metadata.get("secure"));
nacosServiceInstance.setSecure(secure); nacosServiceInstance.setSecure(secure);
} }
return nacosServiceInstance; return nacosServiceInstance;
} }
public static List<ServiceInstance> hostToServiceInstanceList( public static List<ServiceInstance> hostToServiceInstanceList(
List<Instance> instances, String serviceId) { List<Instance> instances, String serviceId) {
List<ServiceInstance> result = new ArrayList<>(instances.size()); List<ServiceInstance> result = new ArrayList<>(instances.size());
for (Instance instance : instances) { for (Instance instance : instances) {
ServiceInstance serviceInstance = hostToServiceInstance(instance, serviceId); ServiceInstance serviceInstance = hostToServiceInstance(instance, serviceId);
if (serviceInstance != null) { if (serviceInstance != null) {
result.add(serviceInstance); result.add(serviceInstance);
} }
} }
return result; return result;
} }
@Override @Override
public List<String> getServices() { public List<String> getServices() {
try { try {
String group = discoveryProperties.getGroup(); String group = discoveryProperties.getGroup();
ListView<String> services = nacosNamingManager.getNamingService() ListView<String> services = nacosNamingManager.getNamingService()
.getServicesOfServer(1, Integer.MAX_VALUE, group); .getServicesOfServer(1, Integer.MAX_VALUE, group);
return services.getData(); return services.getData();
} catch (Exception e) { }
log.error("get service name from nacos server fail,", e); catch (Exception e) {
return Collections.emptyList(); log.error("get service name from nacos server fail,", e);
} return Collections.emptyList();
} }
}
} }

View File

@ -45,8 +45,7 @@ public class NacosDiscoveryClientAutoConfiguration {
} }
@Bean @Bean
public DiscoveryClient nacosDiscoveryClient( public DiscoveryClient nacosDiscoveryClient(NacosNamingManager nacosNamingManager,
NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties discoveryProperties) { NacosDiscoveryProperties discoveryProperties) {
return new NacosDiscoveryClient(nacosNamingManager, discoveryProperties); return new NacosDiscoveryClient(nacosNamingManager, discoveryProperties);
} }

View File

@ -44,7 +44,8 @@ public class NacosDiscoveryEndpoint {
private NacosNamingManager nacosNamingManager; private NacosNamingManager nacosNamingManager;
private NacosDiscoveryProperties nacosDiscoveryProperties; private NacosDiscoveryProperties nacosDiscoveryProperties;
public NacosDiscoveryEndpoint(NacosNamingManager nacosNamingManager, NacosDiscoveryProperties nacosDiscoveryProperties) { public NacosDiscoveryEndpoint(NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties nacosDiscoveryProperties) {
this.nacosNamingManager = nacosNamingManager; this.nacosNamingManager = nacosNamingManager;
this.nacosDiscoveryProperties = nacosDiscoveryProperties; this.nacosDiscoveryProperties = nacosDiscoveryProperties;
} }

View File

@ -49,7 +49,8 @@ public class NacosRegistration implements Registration, ServiceInstance {
private ApplicationContext context; private ApplicationContext context;
public NacosRegistration(NacosNamingManager nacosNamingManager, NacosDiscoveryProperties nacosDiscoveryProperties, public NacosRegistration(NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties nacosDiscoveryProperties,
ApplicationContext context) { ApplicationContext context) {
this.nacosNamingManager = nacosNamingManager; this.nacosNamingManager = nacosNamingManager;
this.nacosDiscoveryProperties = nacosDiscoveryProperties; this.nacosDiscoveryProperties = nacosDiscoveryProperties;

View File

@ -42,7 +42,8 @@ public class NacosServiceRegistry implements ServiceRegistry<Registration> {
private final NamingService namingService; private final NamingService namingService;
public NacosServiceRegistry(NacosNamingManager nacosNamingManager, NacosDiscoveryProperties nacosDiscoveryProperties) { public NacosServiceRegistry(NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties nacosDiscoveryProperties) {
this.nacosNamingManager = nacosNamingManager; this.nacosNamingManager = nacosNamingManager;
this.nacosDiscoveryProperties = nacosDiscoveryProperties; this.nacosDiscoveryProperties = nacosDiscoveryProperties;
this.namingService = nacosNamingManager.getNamingService(); this.namingService = nacosNamingManager.getNamingService();
@ -123,8 +124,8 @@ public class NacosServiceRegistry implements ServiceRegistry<Registration> {
} }
try { try {
nacosNamingManager.getNamingMaintainService() nacosNamingManager.getNamingMaintainService().updateInstance(serviceId,
.updateInstance(serviceId, instance); instance);
} }
catch (Exception e) { catch (Exception e) {
throw new RuntimeException("update nacos instance status fail", e); throw new RuntimeException("update nacos instance status fail", e);

View File

@ -39,7 +39,8 @@ public class NacosRibbonClientConfiguration {
public ServerList<?> ribbonServerList(IClientConfig config, public ServerList<?> ribbonServerList(IClientConfig config,
NacosNamingManager nacosNamingManager, NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties nacosDiscoveryProperties) { NacosDiscoveryProperties nacosDiscoveryProperties) {
NacosServerList serverList = new NacosServerList(nacosNamingManager, nacosDiscoveryProperties); NacosServerList serverList = new NacosServerList(nacosNamingManager,
nacosDiscoveryProperties);
serverList.initWithNiwsConfig(config); serverList.initWithNiwsConfig(config);
return serverList; return serverList;
} }

View File

@ -42,8 +42,7 @@ public class NacosRule extends AbstractLoadBalancerRule {
DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer) getLoadBalancer(); DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer) getLoadBalancer();
String name = loadBalancer.getName(); String name = loadBalancer.getName();
NamingService namingService = this.nacosNamingManager NamingService namingService = this.nacosNamingManager.getNamingService();
.getNamingService();
List<Instance> instances = namingService.selectInstances(name, true); List<Instance> instances = namingService.selectInstances(name, true);
if (CollectionUtils.isEmpty(instances)) { if (CollectionUtils.isEmpty(instances)) {
LOGGER.warn("no instance in service {}", name); LOGGER.warn("no instance in service {}", name);

View File

@ -38,7 +38,8 @@ public class NacosServerList extends AbstractServerList<NacosServer> {
private String serviceId; private String serviceId;
public NacosServerList(NacosNamingManager nacosNamingManager, NacosDiscoveryProperties discoveryProperties) { public NacosServerList(NacosNamingManager nacosNamingManager,
NacosDiscoveryProperties discoveryProperties) {
this.nacosNamingManager = nacosNamingManager; this.nacosNamingManager = nacosNamingManager;
this.discoveryProperties = discoveryProperties; this.discoveryProperties = discoveryProperties;
} }
@ -57,7 +58,7 @@ public class NacosServerList extends AbstractServerList<NacosServer> {
try { try {
String group = discoveryProperties.getGroup(); String group = discoveryProperties.getGroup();
List<Instance> instances = nacosNamingManager.getNamingService() List<Instance> instances = nacosNamingManager.getNamingService()
.selectInstances(serviceId, group,true); .selectInstances(serviceId, group, true);
return instancesToServerList(instances); return instancesToServerList(instances);
} }
catch (Exception e) { catch (Exception e) {

View File

@ -56,18 +56,17 @@ public class NacosDiscoveryClientTests {
NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties nacosDiscoveryProperties = mock(
NacosDiscoveryProperties.class); NacosDiscoveryProperties.class);
NacosNamingManager nacosNamingManager = mock( NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class);
NacosNamingManager.class);
NamingService namingService = mock(NamingService.class); NamingService namingService = mock(NamingService.class);
when(nacosNamingManager.getNamingService()).thenReturn(namingService); when(nacosNamingManager.getNamingService()).thenReturn(namingService);
when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT");
when(namingService.selectInstances(eq(serviceName),eq("DEFAULT"), eq(true))) when(namingService.selectInstances(eq(serviceName), eq("DEFAULT"), eq(true)))
.thenReturn(instances); .thenReturn(instances);
NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient(nacosNamingManager, NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient(
nacosDiscoveryProperties); nacosNamingManager, nacosDiscoveryProperties);
List<ServiceInstance> serviceInstances = discoveryClient List<ServiceInstance> serviceInstances = discoveryClient
.getInstances(serviceName); .getInstances(serviceName);
@ -99,18 +98,17 @@ public class NacosDiscoveryClientTests {
NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties nacosDiscoveryProperties = mock(
NacosDiscoveryProperties.class); NacosDiscoveryProperties.class);
NacosNamingManager nacosNamingManager = mock( NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class);
NacosNamingManager.class);
NamingService namingService = mock(NamingService.class); NamingService namingService = mock(NamingService.class);
NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient(nacosNamingManager, NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient(
nacosDiscoveryProperties); nacosNamingManager, nacosDiscoveryProperties);
when(nacosNamingManager.getNamingService()).thenReturn(namingService); when(nacosNamingManager.getNamingService()).thenReturn(namingService);
when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT");
when(namingService.getServicesOfServer(eq(1), eq(Integer.MAX_VALUE),eq("DEFAULT"))) when(namingService.getServicesOfServer(eq(1), eq(Integer.MAX_VALUE),
.thenReturn(nacosServices); eq("DEFAULT"))).thenReturn(nacosServices);
List<String> services = discoveryClient.getServices(); List<String> services = discoveryClient.getServices();

View File

@ -23,8 +23,7 @@ import com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientAutoConfiguration;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = NacosDiscoveryPropertiesServerAddressBothLevelTests.TestConfig.class, properties = { @SpringBootTest(classes = NacosDiscoveryPropertiesServerAddressBothLevelTests.TestConfig.class, properties = {
"spring.cloud.nacos.discovery.server-addr=321.321.321.321:8848", "spring.cloud.nacos.discovery.server-addr=321.321.321.321:8848",
"spring.cloud.nacos.server-addr=123.123.123.123:8848" "spring.cloud.nacos.server-addr=123.123.123.123:8848" }, webEnvironment = RANDOM_PORT)
}, webEnvironment = RANDOM_PORT)
public class NacosDiscoveryPropertiesServerAddressBothLevelTests { public class NacosDiscoveryPropertiesServerAddressBothLevelTests {
@Autowired @Autowired
@ -32,7 +31,8 @@ public class NacosDiscoveryPropertiesServerAddressBothLevelTests {
@Test @Test
public void testGetServerAddr() { public void testGetServerAddr() {
assertEquals("NacosDiscoveryProperties server address was wrong","321.321.321.321:8848", properties.getServerAddr()); assertEquals("NacosDiscoveryProperties server address was wrong",
"321.321.321.321:8848", properties.getServerAddr());
} }
@Configuration @Configuration

View File

@ -24,8 +24,7 @@ import com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientAutoConfiguration;
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = NacosDiscoveryPropertiesServerAddressTopLevelTests.TestConfig.class, properties = { @SpringBootTest(classes = NacosDiscoveryPropertiesServerAddressTopLevelTests.TestConfig.class, properties = {
"spring.cloud.nacos.server-addr=123.123.123.123:8848" "spring.cloud.nacos.server-addr=123.123.123.123:8848" }, webEnvironment = RANDOM_PORT)
}, webEnvironment = RANDOM_PORT)
public class NacosDiscoveryPropertiesServerAddressTopLevelTests { public class NacosDiscoveryPropertiesServerAddressTopLevelTests {
@ -34,7 +33,8 @@ public class NacosDiscoveryPropertiesServerAddressTopLevelTests {
@Test @Test
public void testGetServerAddr() { public void testGetServerAddr() {
assertEquals("NacosDiscoveryProperties server address was wrong","123.123.123.123:8848", properties.getServerAddr()); assertEquals("NacosDiscoveryProperties server address was wrong",
"123.123.123.123:8848", properties.getServerAddr());
} }
@Configuration @Configuration

View File

@ -207,8 +207,8 @@ public class NacosAutoServiceRegistrationTests {
} }
private void checkoutEndpoint() throws Exception { private void checkoutEndpoint() throws Exception {
NacosDiscoveryEndpoint nacosDiscoveryEndpoint = new NacosDiscoveryEndpoint(nacosNamingManager, NacosDiscoveryEndpoint nacosDiscoveryEndpoint = new NacosDiscoveryEndpoint(
properties); nacosNamingManager, properties);
Map<String, Object> map = nacosDiscoveryEndpoint.nacosDiscovery(); Map<String, Object> map = nacosDiscoveryEndpoint.nacosDiscovery();
assertEquals(map.get("NacosDiscoveryProperties"), properties); assertEquals(map.get("NacosDiscoveryProperties"), properties);
assertEquals(map.get("subscribe").toString(), assertEquals(map.get("subscribe").toString(),

View File

@ -49,8 +49,7 @@ public class NacosServerListTests {
public void testEmptyInstancesReturnsEmptyList() throws Exception { public void testEmptyInstancesReturnsEmptyList() throws Exception {
NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties nacosDiscoveryProperties = mock(
NacosDiscoveryProperties.class); NacosDiscoveryProperties.class);
NacosNamingManager nacosNamingManager = mock( NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class);
NacosNamingManager.class);
NamingService namingService = mock(NamingService.class); NamingService namingService = mock(NamingService.class);
@ -58,7 +57,8 @@ public class NacosServerListTests {
when(namingService.selectInstances(anyString(), eq("DEFAULT"), eq(true))) when(namingService.selectInstances(anyString(), eq("DEFAULT"), eq(true)))
.thenReturn(null); .thenReturn(null);
NacosServerList serverList = new NacosServerList(nacosNamingManager, nacosDiscoveryProperties); NacosServerList serverList = new NacosServerList(nacosNamingManager,
nacosDiscoveryProperties);
List<NacosServer> servers = serverList.getInitialListOfServers(); List<NacosServer> servers = serverList.getInitialListOfServers();
assertThat(servers).isEmpty(); assertThat(servers).isEmpty();
} }
@ -73,8 +73,7 @@ public class NacosServerListTests {
NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties nacosDiscoveryProperties = mock(
NacosDiscoveryProperties.class); NacosDiscoveryProperties.class);
NacosNamingManager nacosNamingManager = mock( NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class);
NacosNamingManager.class);
NamingService namingService = mock(NamingService.class); NamingService namingService = mock(NamingService.class);
@ -86,7 +85,8 @@ public class NacosServerListTests {
IClientConfig clientConfig = mock(IClientConfig.class); IClientConfig clientConfig = mock(IClientConfig.class);
when(clientConfig.getClientName()).thenReturn("test-service"); when(clientConfig.getClientName()).thenReturn("test-service");
NacosServerList serverList = new NacosServerList(nacosNamingManager, nacosDiscoveryProperties); NacosServerList serverList = new NacosServerList(nacosNamingManager,
nacosDiscoveryProperties);
serverList.initWithNiwsConfig(clientConfig); serverList.initWithNiwsConfig(clientConfig);
List<NacosServer> servers = serverList.getInitialListOfServers(); List<NacosServer> servers = serverList.getInitialListOfServers();
assertThat(servers).hasSize(1); assertThat(servers).hasSize(1);
@ -109,8 +109,7 @@ public class NacosServerListTests {
NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties nacosDiscoveryProperties = mock(
NacosDiscoveryProperties.class); NacosDiscoveryProperties.class);
NacosNamingManager nacosNamingManager = mock( NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class);
NacosNamingManager.class);
NamingService namingService = mock(NamingService.class); NamingService namingService = mock(NamingService.class);
@ -122,7 +121,8 @@ public class NacosServerListTests {
IClientConfig clientConfig = mock(IClientConfig.class); IClientConfig clientConfig = mock(IClientConfig.class);
when(clientConfig.getClientName()).thenReturn("test-service"); when(clientConfig.getClientName()).thenReturn("test-service");
NacosServerList serverList = new NacosServerList(nacosNamingManager, nacosDiscoveryProperties); NacosServerList serverList = new NacosServerList(nacosNamingManager,
nacosDiscoveryProperties);
serverList.initWithNiwsConfig(clientConfig); serverList.initWithNiwsConfig(clientConfig);
List<NacosServer> servers = serverList.getInitialListOfServers(); List<NacosServer> servers = serverList.getInitialListOfServers();
assertThat(servers).hasSize(1); assertThat(servers).hasSize(1);
@ -149,12 +149,10 @@ public class NacosServerListTests {
NacosDiscoveryProperties nacosDiscoveryProperties = mock( NacosDiscoveryProperties nacosDiscoveryProperties = mock(
NacosDiscoveryProperties.class); NacosDiscoveryProperties.class);
NacosNamingManager nacosNamingManager = mock( NacosNamingManager nacosNamingManager = mock(NacosNamingManager.class);
NacosNamingManager.class);
NamingService namingService = mock(NamingService.class); NamingService namingService = mock(NamingService.class);
when(nacosNamingManager.getNamingService()).thenReturn(namingService); when(nacosNamingManager.getNamingService()).thenReturn(namingService);
when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT"); when(nacosDiscoveryProperties.getGroup()).thenReturn("DEFAULT");
when(namingService.selectInstances(eq("test-service"), eq("DEFAULT"), eq(true))) when(namingService.selectInstances(eq("test-service"), eq("DEFAULT"), eq(true)))
@ -163,7 +161,8 @@ public class NacosServerListTests {
IClientConfig clientConfig = mock(IClientConfig.class); IClientConfig clientConfig = mock(IClientConfig.class);
when(clientConfig.getClientName()).thenReturn("test-service"); when(clientConfig.getClientName()).thenReturn("test-service");
NacosServerList serverList = new NacosServerList(nacosNamingManager, nacosDiscoveryProperties); NacosServerList serverList = new NacosServerList(nacosNamingManager,
nacosDiscoveryProperties);
serverList.initWithNiwsConfig(clientConfig); serverList.initWithNiwsConfig(clientConfig);
List<NacosServer> servers = serverList.getUpdatedListOfServers(); List<NacosServer> servers = serverList.getUpdatedListOfServers();