From 2545e11c06a10c93ba1089442ecb422e0d8948ec Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Fri, 20 Mar 2020 15:01:28 +0800 Subject: [PATCH 01/28] fix #1259 --- .../registry/AbstractSpringCloudRegistry.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java b/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java index 998ff6cd..23fbb8cb 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java @@ -51,6 +51,7 @@ import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY; import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE; import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY; import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; +import static org.apache.dubbo.common.constants.RegistryConstants.CATEGORY_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL; import static org.apache.dubbo.registry.Constants.ADMIN_PROTOCOL; import static org.springframework.util.StringUtils.hasText; @@ -226,10 +227,11 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { // fix https://github.com/alibaba/spring-cloud-alibaba/issues/753 // Re-obtain the latest list of available metadata address here, ip or port may change. // by https://github.com/wangzihaogithub - dubboMetadataConfigServiceProxy.removeProxy(serviceName); - repository.removeMetadataAndInitializedService(serviceName); - dubboGenericServiceFactory.destroy(serviceName); - repository.initializeMetadata(serviceName); + // When the last service provider is closed, 【fix 1259】while close the channel,when up a new provider then repository.initializeMetadata(serviceName) will throw Exception. + // dubboMetadataConfigServiceProxy.removeProxy(serviceName); + // repository.removeMetadataAndInitializedService(serviceName); + // dubboGenericServiceFactory.destroy(serviceName); + // repository.initializeMetadata(serviceName); if (CollectionUtils.isEmpty(serviceInstances)) { if (logger.isWarnEnabled()) { logger.warn( @@ -237,6 +239,9 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { + "available , please make sure the further impact", serviceName, url.getServiceKey()); } + dubboMetadataConfigServiceProxy.removeProxy(serviceName); + repository.removeMetadataAndInitializedService(serviceName); + dubboGenericServiceFactory.destroy(serviceName); /** * URLs with {@link RegistryConstants#EMPTY_PROTOCOL} */ @@ -299,7 +304,9 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { } private List emptyURLs(URL url) { - return asList(from(url).setProtocol(EMPTY_PROTOCOL).build()); + // issue : When the last service provider is closed, the client still periodically connects to the last provider.n + // fix https://github.com/alibaba/spring-cloud-alibaba/issues/1259 + return asList(from(url).setProtocol(EMPTY_PROTOCOL).removeParameter(CATEGORY_KEY).build()); } private List getServiceInstances(String serviceName) { From b56464c5c7271b2547245ba7ba3949be8bd5abe0 Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Wed, 25 Mar 2020 18:16:13 +0800 Subject: [PATCH 02/28] fix #1259 #1260 #753 --- .../DubboServiceMetadataRepository.java | 117 ++++++++++++------ .../registry/AbstractSpringCloudRegistry.java | 42 ++++--- 2 files changed, 104 insertions(+), 55 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java index abd27b7f..d560f008 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java @@ -16,18 +16,6 @@ package com.alibaba.cloud.dubbo.metadata.repository; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import javax.annotation.PostConstruct; - import com.alibaba.cloud.dubbo.env.DubboCloudProperties; import com.alibaba.cloud.dubbo.http.matcher.RequestMetadataMatcher; import com.alibaba.cloud.dubbo.metadata.DubboRestServiceMetadata; @@ -58,15 +46,16 @@ import org.springframework.stereotype.Repository; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; +import javax.annotation.PostConstruct; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import static com.alibaba.cloud.dubbo.env.DubboCloudProperties.ALL_DUBBO_SERVICES; import static com.alibaba.cloud.dubbo.http.DefaultHttpRequest.builder; import static java.lang.String.format; import static java.lang.String.valueOf; -import static java.util.Collections.emptyList; -import static java.util.Collections.emptySet; -import static java.util.Collections.unmodifiableList; -import static java.util.Collections.unmodifiableMap; -import static java.util.Collections.unmodifiableSet; +import static java.util.Collections.*; import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY; import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; import static org.springframework.util.CollectionUtils.isEmpty; @@ -289,9 +278,12 @@ public class DubboServiceMetadataRepository serviceName); } - initSubscribedDubboMetadataService(serviceName); - // mark this service name having been initialized - initializedServices.add(serviceName); + + if (initSubscribedDubboMetadataService(serviceName)){ + // mark this service name having been initialized + initializedServices.add(serviceName); + } + } } } @@ -301,11 +293,17 @@ public class DubboServiceMetadataRepository * service instance. * @param serviceName the service name */ - public void removeMetadataAndInitializedService(String serviceName) { + public void removeMetadataAndInitializedService(String serviceName, URL url) { synchronized (monitor) { initializedServices.remove(serviceName); dubboRestServiceMetadataRepository.remove(serviceName); - subscribedDubboMetadataServiceURLs.remove(serviceName); + // fix #1260 if the subscribedDubboMetadataServiceURLs removed fail,old meta information will be retained + if( DubboMetadataService.class + .getName().equals(url.getServiceInterface() )) { + String serviceKey = url.getServiceKey(); + subscribedDubboMetadataServiceURLs.remove(serviceKey); + } + } } @@ -614,24 +612,66 @@ public class DubboServiceMetadataRepository subscribedServices.remove(currentApplicationName); } - protected void initSubscribedDubboMetadataService(String serviceName) { - metadataServiceInstanceSelector.choose(discoveryClient.getInstances(serviceName)) + protected Boolean initSubscribedDubboMetadataService(String serviceName) { + // this need to judge whether the initialization is successful or not. The failed initialization will not change the initializedServices + Optional optionalServiceInstance = metadataServiceInstanceSelector.choose(discoveryClient.getInstances(serviceName)); + if(!optionalServiceInstance.isPresent() ){ + return false; + } + ServiceInstance serviceInstance = optionalServiceInstance.get(); + if(null == serviceInstance ){ + return false; + } + List dubboMetadataServiceURLs = getDubboMetadataServiceURLs(serviceInstance); + if(dubboMetadataServiceURLs.isEmpty()){ + return false; + } + for(URL dubboMetadataServiceURL : dubboMetadataServiceURLs){ + try { + initSubscribedDubboMetadataServiceURL( + dubboMetadataServiceURL); + DubboMetadataService dubboMetadataService = dubboMetadataConfigServiceProxy.getProxy(serviceName); + if(dubboMetadataService == null){ + dubboMetadataService = initDubboMetadataServiceProxy(dubboMetadataServiceURL); + } + + if(dubboMetadataService == null){ + removeMetadataAndInitializedService(serviceName, dubboMetadataServiceURL); + return false; + } + } + catch (Throwable e) { + if (logger.isErrorEnabled()) { + logger.error(e.getMessage(), e); + } + } + } + /*metadataServiceInstanceSelector.choose(discoveryClient.getInstances(serviceName)) .map(this::getDubboMetadataServiceURLs) .ifPresent(dubboMetadataServiceURLs -> { - dubboMetadataServiceURLs.forEach(dubboMetadataServiceURL -> { - try { - initSubscribedDubboMetadataServiceURL( - dubboMetadataServiceURL); - initDubboMetadataServiceProxy(dubboMetadataServiceURL); - } - catch (Throwable e) { - if (logger.isErrorEnabled()) { - logger.error(e.getMessage(), e); + if( dubboMetadataServiceURLs.isEmpty()){ + initializedServices.remove(serviceName); + }else{ + dubboMetadataServiceURLs.forEach(dubboMetadataServiceURL -> { + try { + initSubscribedDubboMetadataServiceURL( + dubboMetadataServiceURL); + DubboMetadataService dubboMetadataService = initDubboMetadataServiceProxy(dubboMetadataServiceURL); + if(dubboMetadataService == null){ + initializedServices.remove(serviceName); + } } - } - }); - }); + catch (Throwable e) { + if (logger.isErrorEnabled()) { + logger.error(e.getMessage(), e); + } + } + }); + } + + });*/ initDubboRestServiceMetadataRepository(serviceName); + return true; } private void initSubscribedDubboMetadataServiceURL(URL dubboMetadataServiceURL) { @@ -640,11 +680,12 @@ public class DubboServiceMetadataRepository subscribedDubboMetadataServiceURLs.add(serviceKey, dubboMetadataServiceURL); } - private void initDubboMetadataServiceProxy(URL dubboMetadataServiceURL) { + private DubboMetadataService initDubboMetadataServiceProxy(URL dubboMetadataServiceURL) { String serviceName = dubboMetadataServiceURL.getParameter(APPLICATION_KEY); String version = dubboMetadataServiceURL.getParameter(VERSION_KEY); // Initialize DubboMetadataService with right version - dubboMetadataConfigServiceProxy.initProxy(serviceName, version); + return dubboMetadataConfigServiceProxy.initProxy(serviceName, version); + } @Override diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java index d9ae1eae..a5f8ab8e 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java @@ -16,14 +16,6 @@ package com.alibaba.cloud.dubbo.registry; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.function.Function; -import java.util.stream.Collectors; - import com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository; import com.alibaba.cloud.dubbo.registry.event.ServiceInstancesChangedEvent; import com.alibaba.cloud.dubbo.service.DubboGenericServiceFactory; @@ -36,21 +28,20 @@ import org.apache.dubbo.registry.RegistryFactory; import org.apache.dubbo.registry.support.FailbackRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.context.ApplicationListener; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.util.CollectionUtils; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static org.apache.dubbo.common.URLBuilder.from; -import static org.apache.dubbo.common.constants.CommonConstants.GROUP_KEY; -import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY; -import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE; -import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY; -import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; +import static org.apache.dubbo.common.constants.CommonConstants.*; import static org.apache.dubbo.common.constants.RegistryConstants.CATEGORY_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL; import static org.apache.dubbo.registry.Constants.ADMIN_PROTOCOL; @@ -162,6 +153,11 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { } else if (isDubboMetadataServiceURL(url)) { // for DubboMetadataService subscribeDubboMetadataServiceURLs(url, listener); + if( from(url).getParameter(CATEGORY_KEY) != null && from(url).getParameter(CATEGORY_KEY).contains(PROVIDER)){ + // Fix #1259 and #753 Listene meta service change events to remove useless clients + registerServiceInstancesChangedEventListener(url, listener); + } + } else { // for general Dubbo Services subscribeDubboServiceURLs(url, listener); @@ -241,9 +237,16 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { + "available , please make sure the further impact", serviceName, url.getServiceKey()); } - dubboMetadataConfigServiceProxy.removeProxy(serviceName); - repository.removeMetadataAndInitializedService(serviceName); - dubboGenericServiceFactory.destroy(serviceName); + if(isDubboMetadataServiceURL(url)){ + // if meta service change, and serviceInstances is zero, will clean up information about this client + dubboMetadataConfigServiceProxy.removeProxy(serviceName); + repository.removeMetadataAndInitializedService(serviceName, url); + dubboGenericServiceFactory.destroy(serviceName); + String listenerId = generateId(url); + // The metaservice will restart the new listener. It needs to be optimized to see whether the original listener can be reused. + this.registerListeners.remove(listenerId); + } + /** * URLs with {@link RegistryConstants#EMPTY_PROTOCOL} */ @@ -255,6 +258,11 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { listener.notify(allSubscribedURLs); return; } + if( isDubboMetadataServiceURL(url) ){ + // Prevent duplicate generation of DubboMetadataService + return; + } + repository.initializeMetadata(serviceName); DubboMetadataService dubboMetadataService = dubboMetadataConfigServiceProxy .getProxy(serviceName); From 0485c6d06d9ce0b7aaaa9f5cc90b97ffd62e78e5 Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Thu, 26 Mar 2020 09:33:28 +0800 Subject: [PATCH 03/28] fix #1259 #1260 #753 checkStyle --- .../DubboServiceMetadataRepository.java | 66 +++++++------------ .../registry/AbstractSpringCloudRegistry.java | 26 +++++--- 2 files changed, 40 insertions(+), 52 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java index d560f008..fc5c0c29 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java @@ -278,8 +278,7 @@ public class DubboServiceMetadataRepository serviceName); } - - if (initSubscribedDubboMetadataService(serviceName)){ + if (initSubscribedDubboMetadataService(serviceName)) { // mark this service name having been initialized initializedServices.add(serviceName); } @@ -297,9 +296,9 @@ public class DubboServiceMetadataRepository synchronized (monitor) { initializedServices.remove(serviceName); dubboRestServiceMetadataRepository.remove(serviceName); - // fix #1260 if the subscribedDubboMetadataServiceURLs removed fail,old meta information will be retained - if( DubboMetadataService.class - .getName().equals(url.getServiceInterface() )) { + // fix #1260 if the subscribedDubboMetadataServiceURLs removed fail,old meta + // information will be retained + if (DubboMetadataService.class.getName().equals(url.getServiceInterface())) { String serviceKey = url.getServiceKey(); subscribedDubboMetadataServiceURLs.remove(serviceKey); } @@ -613,30 +612,34 @@ public class DubboServiceMetadataRepository } protected Boolean initSubscribedDubboMetadataService(String serviceName) { - // this need to judge whether the initialization is successful or not. The failed initialization will not change the initializedServices - Optional optionalServiceInstance = metadataServiceInstanceSelector.choose(discoveryClient.getInstances(serviceName)); - if(!optionalServiceInstance.isPresent() ){ + // this need to judge whether the initialization is successful or not. The failed + // initialization will not change the initializedServices + Optional optionalServiceInstance = metadataServiceInstanceSelector + .choose(discoveryClient.getInstances(serviceName)); + if (!optionalServiceInstance.isPresent()) { return false; } ServiceInstance serviceInstance = optionalServiceInstance.get(); - if(null == serviceInstance ){ + if (null == serviceInstance) { return false; } List dubboMetadataServiceURLs = getDubboMetadataServiceURLs(serviceInstance); - if(dubboMetadataServiceURLs.isEmpty()){ + if (dubboMetadataServiceURLs.isEmpty()) { return false; } - for(URL dubboMetadataServiceURL : dubboMetadataServiceURLs){ + for (URL dubboMetadataServiceURL : dubboMetadataServiceURLs) { try { - initSubscribedDubboMetadataServiceURL( - dubboMetadataServiceURL); - DubboMetadataService dubboMetadataService = dubboMetadataConfigServiceProxy.getProxy(serviceName); - if(dubboMetadataService == null){ - dubboMetadataService = initDubboMetadataServiceProxy(dubboMetadataServiceURL); + initSubscribedDubboMetadataServiceURL(dubboMetadataServiceURL); + DubboMetadataService dubboMetadataService = dubboMetadataConfigServiceProxy + .getProxy(serviceName); + if (dubboMetadataService == null) { + dubboMetadataService = initDubboMetadataServiceProxy( + dubboMetadataServiceURL); } - if(dubboMetadataService == null){ - removeMetadataAndInitializedService(serviceName, dubboMetadataServiceURL); + if (dubboMetadataService == null) { + removeMetadataAndInitializedService(serviceName, + dubboMetadataServiceURL); return false; } } @@ -646,30 +649,6 @@ public class DubboServiceMetadataRepository } } } - /*metadataServiceInstanceSelector.choose(discoveryClient.getInstances(serviceName)) - .map(this::getDubboMetadataServiceURLs) - .ifPresent(dubboMetadataServiceURLs -> { - if( dubboMetadataServiceURLs.isEmpty()){ - initializedServices.remove(serviceName); - }else{ - dubboMetadataServiceURLs.forEach(dubboMetadataServiceURL -> { - try { - initSubscribedDubboMetadataServiceURL( - dubboMetadataServiceURL); - DubboMetadataService dubboMetadataService = initDubboMetadataServiceProxy(dubboMetadataServiceURL); - if(dubboMetadataService == null){ - initializedServices.remove(serviceName); - } - } - catch (Throwable e) { - if (logger.isErrorEnabled()) { - logger.error(e.getMessage(), e); - } - } - }); - } - - });*/ initDubboRestServiceMetadataRepository(serviceName); return true; } @@ -680,7 +659,8 @@ public class DubboServiceMetadataRepository subscribedDubboMetadataServiceURLs.add(serviceKey, dubboMetadataServiceURL); } - private DubboMetadataService initDubboMetadataServiceProxy(URL dubboMetadataServiceURL) { + private DubboMetadataService initDubboMetadataServiceProxy( + URL dubboMetadataServiceURL) { String serviceName = dubboMetadataServiceURL.getParameter(APPLICATION_KEY); String version = dubboMetadataServiceURL.getParameter(VERSION_KEY); // Initialize DubboMetadataService with right version diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java index a5f8ab8e..8fe31778 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java @@ -153,8 +153,10 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { } else if (isDubboMetadataServiceURL(url)) { // for DubboMetadataService subscribeDubboMetadataServiceURLs(url, listener); - if( from(url).getParameter(CATEGORY_KEY) != null && from(url).getParameter(CATEGORY_KEY).contains(PROVIDER)){ - // Fix #1259 and #753 Listene meta service change events to remove useless clients + if (from(url).getParameter(CATEGORY_KEY) != null + && from(url).getParameter(CATEGORY_KEY).contains(PROVIDER)) { + // Fix #1259 and #753 Listene meta service change events to remove useless + // clients registerServiceInstancesChangedEventListener(url, listener); } @@ -225,7 +227,9 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { // Re-obtain the latest list of available metadata address here, ip or port may // change. // by https://github.com/wangzihaogithub - // When the last service provider is closed, 【fix 1259】while close the channel,when up a new provider then repository.initializeMetadata(serviceName) will throw Exception. + // When the last service provider is closed, 【fix 1259】while close the + // channel,when up a new provider then repository.initializeMetadata(serviceName) + // will throw Exception. // dubboMetadataConfigServiceProxy.removeProxy(serviceName); // repository.removeMetadataAndInitializedService(serviceName); // dubboGenericServiceFactory.destroy(serviceName); @@ -237,13 +241,15 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { + "available , please make sure the further impact", serviceName, url.getServiceKey()); } - if(isDubboMetadataServiceURL(url)){ - // if meta service change, and serviceInstances is zero, will clean up information about this client + if (isDubboMetadataServiceURL(url)) { + // if meta service change, and serviceInstances is zero, will clean up + // information about this client dubboMetadataConfigServiceProxy.removeProxy(serviceName); repository.removeMetadataAndInitializedService(serviceName, url); dubboGenericServiceFactory.destroy(serviceName); String listenerId = generateId(url); - // The metaservice will restart the new listener. It needs to be optimized to see whether the original listener can be reused. + // The metaservice will restart the new listener. It needs to be optimized + // to see whether the original listener can be reused. this.registerListeners.remove(listenerId); } @@ -258,7 +264,7 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { listener.notify(allSubscribedURLs); return; } - if( isDubboMetadataServiceURL(url) ){ + if (isDubboMetadataServiceURL(url)) { // Prevent duplicate generation of DubboMetadataService return; } @@ -314,9 +320,11 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { } private List emptyURLs(URL url) { - // issue : When the last service provider is closed, the client still periodically connects to the last provider.n + // issue : When the last service provider is closed, the client still periodically + // connects to the last provider.n // fix https://github.com/alibaba/spring-cloud-alibaba/issues/1259 - return asList(from(url).setProtocol(EMPTY_PROTOCOL).removeParameter(CATEGORY_KEY).build()); + return asList(from(url).setProtocol(EMPTY_PROTOCOL).removeParameter(CATEGORY_KEY) + .build()); } private List getServiceInstances(String serviceName) { From 07475573301bbfdf84c437fb7b54fa524299c360 Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Thu, 26 Mar 2020 10:07:46 +0800 Subject: [PATCH 04/28] fix #1259 #1260 #753 checkStyle --- .../DubboServiceMetadataRepository.java | 27 ++++++++++++++----- .../registry/AbstractSpringCloudRegistry.java | 20 ++++++++++---- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java index fc5c0c29..fdc779b5 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java @@ -16,6 +16,19 @@ package com.alibaba.cloud.dubbo.metadata.repository; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import javax.annotation.PostConstruct; + import com.alibaba.cloud.dubbo.env.DubboCloudProperties; import com.alibaba.cloud.dubbo.http.matcher.RequestMetadataMatcher; import com.alibaba.cloud.dubbo.metadata.DubboRestServiceMetadata; @@ -46,16 +59,15 @@ import org.springframework.stereotype.Repository; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import javax.annotation.PostConstruct; -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - import static com.alibaba.cloud.dubbo.env.DubboCloudProperties.ALL_DUBBO_SERVICES; import static com.alibaba.cloud.dubbo.http.DefaultHttpRequest.builder; import static java.lang.String.format; import static java.lang.String.valueOf; -import static java.util.Collections.*; +import static java.util.Collections.emptyList; +import static java.util.Collections.emptySet; +import static java.util.Collections.unmodifiableList; +import static java.util.Collections.unmodifiableMap; +import static java.util.Collections.unmodifiableSet; import static org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY; import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; import static org.springframework.util.CollectionUtils.isEmpty; @@ -291,6 +303,7 @@ public class DubboServiceMetadataRepository * Remove the metadata and initialized service of Dubbo Services if no there is no * service instance. * @param serviceName the service name + * @param url the meta service url */ public void removeMetadataAndInitializedService(String serviceName, URL url) { synchronized (monitor) { @@ -616,7 +629,7 @@ public class DubboServiceMetadataRepository // initialization will not change the initializedServices Optional optionalServiceInstance = metadataServiceInstanceSelector .choose(discoveryClient.getInstances(serviceName)); - if (!optionalServiceInstance.isPresent()) { + if (!((Optional) optionalServiceInstance).isPresent()) { return false; } ServiceInstance serviceInstance = optionalServiceInstance.get(); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java index 8fe31778..8676085c 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java @@ -16,6 +16,14 @@ package com.alibaba.cloud.dubbo.registry; +import java.util.Collection; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.function.Function; +import java.util.stream.Collectors; + import com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository; import com.alibaba.cloud.dubbo.registry.event.ServiceInstancesChangedEvent; import com.alibaba.cloud.dubbo.service.DubboGenericServiceFactory; @@ -28,20 +36,22 @@ import org.apache.dubbo.registry.RegistryFactory; import org.apache.dubbo.registry.support.FailbackRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.context.ApplicationListener; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.util.CollectionUtils; -import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; - import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static org.apache.dubbo.common.URLBuilder.from; -import static org.apache.dubbo.common.constants.CommonConstants.*; +import static org.apache.dubbo.common.constants.CommonConstants.GROUP_KEY; +import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY; +import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER; +import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE; +import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY; +import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.CATEGORY_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL; import static org.apache.dubbo.registry.Constants.ADMIN_PROTOCOL; From 264e208da706d66481ee89142003b4fcc1e2df77 Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Thu, 26 Mar 2020 20:06:12 +0800 Subject: [PATCH 05/28] initSubscribedDubboMetadataService Exception return false --- .../metadata/repository/DubboServiceMetadataRepository.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java index fdc779b5..9089919e 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java @@ -660,6 +660,7 @@ public class DubboServiceMetadataRepository if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } + return false; } } initDubboRestServiceMetadataRepository(serviceName); From a99b8f845f24b8fff8165d92c83de99f2b303f3a Mon Sep 17 00:00:00 2001 From: yuhuangbin Date: Mon, 30 Mar 2020 11:19:25 +0800 Subject: [PATCH 06/28] sidecar enhance --- .../src/main/resources/application.yml | 4 +- .../nacos/SidecarNacosAutoConfiguration.java | 20 ++------ .../nacos/SidecarNacosDiscoveryClient.java | 15 +++--- .../SidecarNacosDiscoveryProperties.java | 49 ------------------- 4 files changed, 16 insertions(+), 72 deletions(-) delete mode 100644 spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml index 7f059ef3..ce9ac30f 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/src/main/resources/application.yml @@ -3,6 +3,8 @@ server: spring: cloud: nacos: + username: nacos + password: nacos discovery: server-addr: localhost:8848 gateway: @@ -17,7 +19,7 @@ sidecar: # 异构微服务的端口 port: 8060 # 异构微服务的健康检查URL - health-check-url: http://localhost:8060/health.json + #health-check-url: http://localhost:8060/health.json management: endpoint: health: diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java index 906ea7d6..1ba5a381 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java @@ -17,13 +17,11 @@ package com.alibaba.cloud.sidecar.nacos; import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration; import com.alibaba.cloud.sidecar.SidecarAutoConfiguration; import com.alibaba.cloud.sidecar.SidecarDiscoveryClient; -import com.alibaba.cloud.sidecar.SidecarProperties; import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -32,23 +30,15 @@ import org.springframework.context.annotation.Configuration; * @author www.itmuch.com */ @Configuration(proxyBeanMethods = false) -@AutoConfigureBefore({ NacosDiscoveryAutoConfiguration.class, - SidecarAutoConfiguration.class }) -@ConditionalOnClass(NacosDiscoveryProperties.class) +@AutoConfigureBefore(SidecarAutoConfiguration.class) +@ConditionalOnBean(NacosDiscoveryProperties.class) public class SidecarNacosAutoConfiguration { - @Bean - @ConditionalOnMissingBean - public SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties( - SidecarProperties sidecarProperties) { - return new SidecarNacosDiscoveryProperties(sidecarProperties); - } - @Bean @ConditionalOnMissingBean public SidecarDiscoveryClient sidecarDiscoveryClient( - SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties) { - return new SidecarNacosDiscoveryClient(sidecarNacosDiscoveryProperties); + NacosDiscoveryProperties nacosDiscoveryProperties) { + return new SidecarNacosDiscoveryClient(nacosDiscoveryProperties); } } diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java index e4302afe..15b6f35c 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java @@ -16,6 +16,7 @@ package com.alibaba.cloud.sidecar.nacos; +import com.alibaba.cloud.nacos.NacosDiscoveryProperties; import com.alibaba.cloud.sidecar.SidecarDiscoveryClient; import com.alibaba.nacos.api.exception.NacosException; import org.slf4j.Logger; @@ -29,18 +30,18 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient { private static final Logger log = LoggerFactory .getLogger(SidecarNacosDiscoveryClient.class); - private final SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties; + private final NacosDiscoveryProperties nacosDiscoveryProperties; public SidecarNacosDiscoveryClient( - SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties) { - this.sidecarNacosDiscoveryProperties = sidecarNacosDiscoveryProperties; + NacosDiscoveryProperties nacosDiscoveryProperties) { + this.nacosDiscoveryProperties = nacosDiscoveryProperties; } @Override public void registerInstance(String applicationName, String ip, Integer port) { try { - this.sidecarNacosDiscoveryProperties.namingServiceInstance() - .registerInstance(applicationName, ip, port); + this.nacosDiscoveryProperties.namingServiceInstance() + .registerInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port); } catch (NacosException e) { log.warn("nacos exception happens", e); @@ -50,8 +51,8 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient { @Override public void deregisterInstance(String applicationName, String ip, Integer port) { try { - this.sidecarNacosDiscoveryProperties.namingServiceInstance() - .deregisterInstance(applicationName, ip, port); + this.nacosDiscoveryProperties.namingServiceInstance() + .deregisterInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port); } catch (NacosException e) { log.warn("nacos exception happens", e); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java deleted file mode 100644 index d58c60c1..00000000 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.sidecar.nacos; - -import java.net.SocketException; - -import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.cloud.sidecar.SidecarProperties; -import org.apache.commons.lang3.StringUtils; - -/** - * @author itmuch.com - */ -public class SidecarNacosDiscoveryProperties extends NacosDiscoveryProperties { - - private final SidecarProperties sidecarProperties; - - public SidecarNacosDiscoveryProperties(SidecarProperties sidecarProperties) { - this.sidecarProperties = sidecarProperties; - } - - @Override - public void init() throws SocketException { - super.init(); - - String ip = sidecarProperties.getIp(); - if (StringUtils.isNotBlank(ip)) { - this.setIp(ip); - } - - Integer port = sidecarProperties.getPort(); - this.setPort(port); - } - -} From a0fc48628c9861c239940823790efe27995c16b0 Mon Sep 17 00:00:00 2001 From: theonefx Date: Tue, 31 Mar 2020 19:00:53 +0800 Subject: [PATCH 07/28] fix document link error ref: https://github.com/alibaba/spring-cloud-alibaba/issues/1214 --- .../spring-cloud-alibaba-dubbo-examples/README_CN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/README_CN.md b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/README_CN.md index 412d5722..28e2428d 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/README_CN.md +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/README_CN.md @@ -345,4 +345,4 @@ HTTP 响应为: - [spring-cloud-dubbo-provider-web-sample](spring-cloud-dubbo-provider-web-sample):Dubbo Spring Cloud 服务提供方示例(Web 应用) - [spring-cloud-dubbo-provider-sample](spring-cloud-dubbo-provider-sample):Dubbo Spring Cloud 服务提供方示例(非 Web 应用) - [spring-cloud-dubbo-consumer-sample](spring-cloud-dubbo-consumer-sample):Dubbo Spring Cloud 服务消费方示例 -- [spring-cloud-dubbo-servlet-gateway](spring-cloud-dubbo-servlet-gateway)-sample:Dubbo Spring Cloud Servlet 网关简易实现示例 +- [spring-cloud-dubbo-servlet-gateway](spring-cloud-dubbo-servlet-gateway-sample):Dubbo Spring Cloud Servlet 网关简易实现示例 From 859d0ff6d31459755ebdd5420d290c7d5aef159e Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Thu, 2 Apr 2020 14:23:51 +0800 Subject: [PATCH 08/28] Fix #1310 Compatible with Dubbo 2.7.5 --- .../MissingSpringCloudRegistryConfigPropertyCondition.java | 4 ++-- .../env/DubboNonWebApplicationEnvironmentPostProcessor.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java index 0ea71581..4a4502de 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java @@ -29,7 +29,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.util.StringUtils; import static com.alibaba.cloud.dubbo.registry.SpringCloudRegistryFactory.PROTOCOL; -import static org.apache.dubbo.config.spring.util.PropertySourcesUtils.getPrefixedProperties; +import static com.alibaba.spring.util.PropertySourcesUtils.getSubProperties; /** * Missing {@link SpringCloudRegistry} Property {@link Condition}. @@ -61,7 +61,7 @@ public class MissingSpringCloudRegistryConfigPropertyCondition "'spring-cloud' protocol was found from 'dubbo.registry.address'"); } - Map properties = getPrefixedProperties( + Map properties = getSubProperties( environment.getPropertySources(), "dubbo.registries."); boolean found = properties.entrySet().stream().anyMatch(entry -> { diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java index 4de58946..10b7b743 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java @@ -35,7 +35,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_PROTOCOL; -import static org.apache.dubbo.config.spring.util.PropertySourcesUtils.getPrefixedProperties; +import static com.alibaba.spring.util.PropertySourcesUtils.getSubProperties; /** * Dubbo {@link WebApplicationType#NONE Non-Web Application} @@ -149,7 +149,7 @@ public class DubboNonWebApplicationEnvironmentPostProcessor String restPort = null; - Map subProperties = getPrefixedProperties( + Map subProperties = getSubProperties( environment.getPropertySources(), PROTOCOLS_PROPERTY_NAME_PREFIX); Properties properties = new Properties(); From f0f8ee1787e4e34cf97455e541d0092c67cbdd95 Mon Sep 17 00:00:00 2001 From: liuchunguang Date: Thu, 2 Apr 2020 15:05:15 +0800 Subject: [PATCH 09/28] checkStyle --- .../env/DubboNonWebApplicationEnvironmentPostProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java index 10b7b743..faf9ef8b 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java @@ -34,8 +34,8 @@ import org.springframework.core.env.PropertySource; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_PROTOCOL; import static com.alibaba.spring.util.PropertySourcesUtils.getSubProperties; +import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_PROTOCOL; /** * Dubbo {@link WebApplicationType#NONE Non-Web Application} From 7b06f44ee427c96af7ff9da18b4044ea42925405 Mon Sep 17 00:00:00 2001 From: mengjin Date: Thu, 2 Apr 2020 17:12:15 +0800 Subject: [PATCH 10/28] :sparkles: Introducing new features. Sentinel Support ConsulDataSource Dynamic Rule Configuration --- spring-cloud-alibaba-dependencies/pom.xml | 6 ++ .../pom.xml | 6 ++ .../config/ConsulDataSourceProperties.java | 98 +++++++++++++++++++ .../DataSourcePropertiesConfiguration.java | 15 +++ .../config/RedisDataSourceProperties.java | 2 +- .../ConsulDataSourceFactoryBean.java | 95 ++++++++++++++++++ .../META-INF/sentinel-datasource.properties | 1 + 7 files changed, 222 insertions(+), 1 deletion(-) create mode 100644 spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java create mode 100644 spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 5c2b55ed..ac38a402 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -93,6 +93,12 @@ ${sentinel.version} + + com.alibaba.csp + sentinel-datasource-consul + ${sentinel.version} + + com.alibaba.csp sentinel-web-servlet diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml index 794dde46..a45ed77b 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml @@ -83,6 +83,12 @@ true + + com.alibaba.csp + sentinel-datasource-consul + true + + com.fasterxml.jackson.core jackson-databind diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java new file mode 100644 index 00000000..98f064f5 --- /dev/null +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java @@ -0,0 +1,98 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.cloud.sentinel.datasource.config; + +import com.alibaba.cloud.sentinel.datasource.factorybean.ConsulDataSourceFactoryBean; +import org.springframework.util.StringUtils; + +/** + * Consul Properties class Using by {@link DataSourcePropertiesConfiguration} and + * {@link ConsulDataSourceFactoryBean}. + * + * @author mengjin + */ +public class ConsulDataSourceProperties extends AbstractDataSourceProperties { + + public ConsulDataSourceProperties(){ + super(ConsulDataSourceFactoryBean.class.getName()); + } + + /** + * consul server host + */ + private String host; + + /** + * consul server port + */ + private int port=8500; + + /** + * data key in Redis. + */ + private String ruleKey; + + /** + * Request of query will hang until timeout (in second) or get updated value. + */ + private int waitTimeoutInSecond = 1; + + @Override + public void preCheck(String dataSourceName) { + super.preCheck(dataSourceName); + if(StringUtils.isEmpty(host)){ + throw new IllegalArgumentException( + "ConsulDataSource server-host is empty"); + } + if(StringUtils.isEmpty(ruleKey)){ + throw new IllegalArgumentException( + "ConsulDataSource ruleKey can not be empty"); + } + } + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public String getRuleKey() { + return ruleKey; + } + + public void setRuleKey(String ruleKey) { + this.ruleKey = ruleKey; + } + + public int getWaitTimeoutInSecond() { + return waitTimeoutInSecond; + } + + public void setWaitTimeoutInSecond(int waitTimeoutInSecond) { + this.waitTimeoutInSecond = waitTimeoutInSecond; + } +} diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java index 2c4f1d7b..a0a5526f 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java @@ -34,6 +34,7 @@ import org.springframework.util.ObjectUtils; * @see ZookeeperDataSourceProperties * @see FileDataSourceProperties * @see RedisDataSourceProperties + * @see ConsulDataSourceProperties */ public class DataSourcePropertiesConfiguration { @@ -47,9 +48,23 @@ public class DataSourcePropertiesConfiguration { private RedisDataSourceProperties redis; + private ConsulDataSourceProperties consul; + public DataSourcePropertiesConfiguration() { } + public DataSourcePropertiesConfiguration(ConsulDataSourceProperties consul) { + this.consul = consul; + } + + public ConsulDataSourceProperties getConsul() { + return consul; + } + + public void setConsul(ConsulDataSourceProperties consul) { + this.consul = consul; + } + public DataSourcePropertiesConfiguration(FileDataSourceProperties file) { this.file = file; } diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java index 984b6e2c..a5049660 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java @@ -24,7 +24,7 @@ import com.alibaba.cloud.sentinel.datasource.factorybean.RedisDataSourceFactoryB import org.springframework.util.StringUtils; /** - * Zookeeper Properties class Using by {@link DataSourcePropertiesConfiguration} and + * Redis Properties class Using by {@link DataSourcePropertiesConfiguration} and * {@link RedisDataSourceFactoryBean}. * * @author lengleng diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java new file mode 100644 index 00000000..ad132357 --- /dev/null +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java @@ -0,0 +1,95 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.cloud.sentinel.datasource.factorybean; + +import com.alibaba.csp.sentinel.datasource.Converter; +import com.alibaba.csp.sentinel.datasource.consul.ConsulDataSource; +import org.springframework.beans.factory.FactoryBean; + +/** + * A {@link FactoryBean} for creating {@link ConsulDataSource} instance. + * + * @author mengjin + * @see ConsulDataSource + */ +public class ConsulDataSourceFactoryBean implements FactoryBean { + + private String host; + + private int port; + + private String ruleKey; + + private int waitTimeoutInSecond; + + private Converter converter; + + @Override + public ConsulDataSource getObject() throws Exception { + return new ConsulDataSource( + host, + port, + ruleKey, + waitTimeoutInSecond, + converter); + } + + @Override + public Class getObjectType() { + return ConsulDataSource.class; + } + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public String getRuleKey() { + return ruleKey; + } + + public void setRuleKey(String ruleKey) { + this.ruleKey = ruleKey; + } + + public int getWaitTimeoutInSecond() { + return waitTimeoutInSecond; + } + + public void setWaitTimeoutInSecond(int waitTimeoutInSecond) { + this.waitTimeoutInSecond = waitTimeoutInSecond; + } + + public Converter getConverter() { + return converter; + } + + public void setConverter(Converter converter) { + this.converter = converter; + } +} diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties index 074751fb..db4df37f 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties @@ -3,3 +3,4 @@ file =com.alibaba.csp.sentinel.datasource.FileRefreshableDataSource apollo = com.alibaba.csp.sentinel.datasource.apollo.ApolloDataSource zk = com.alibaba.csp.sentinel.datasource.zookeeper.ZookeeperDataSource redis = com.alibaba.csp.sentinel.datasource.redis.RedisDataSource +consul = com.alibaba.csp.sentinel.datasource.consul.ConsulDataSource \ No newline at end of file From 46b64a96fae3cb2ce4410fb1985c4cda398c4278 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Thu, 2 Apr 2020 17:36:00 +0800 Subject: [PATCH 11/28] Update Samples --- spring-cloud-alibaba-dependencies/pom.xml | 10 ---------- .../src/main/resources/bootstrap.yaml | 2 ++ .../src/main/resources/bootstrap.yaml | 2 ++ .../src/main/resources/bootstrap.yaml | 2 ++ .../src/main/resources/bootstrap.yaml | 2 ++ 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 5c2b55ed..544c2b20 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -23,16 +23,6 @@ 1.1.0 1.2.1 0.8.0 - 1.0.9 - 1.0.1 - 4.4.1 - 1.0.5 - 2.44.0 - 2.1.6 - 1.1.0 - 1.1.8.6 - 1.1.1 - 1.0.5 diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/src/main/resources/bootstrap.yaml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/src/main/resources/bootstrap.yaml index 42e49bcb..757a772f 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/src/main/resources/bootstrap.yaml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/src/main/resources/bootstrap.yaml @@ -11,5 +11,7 @@ spring: allow-bean-definition-overriding: true cloud: nacos: + username: nacos + password: nacos discovery: server-addr: 127.0.0.1:8848 \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/src/main/resources/bootstrap.yaml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/src/main/resources/bootstrap.yaml index dca555cf..6dcd0df3 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/src/main/resources/bootstrap.yaml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/src/main/resources/bootstrap.yaml @@ -8,6 +8,8 @@ spring: # default disable all cloud: nacos: + username: nacos + password: nacos discovery: enabled: false register-enabled: false diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml index 0d8dfca9..8f56b284 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml @@ -27,6 +27,8 @@ spring: cloud: nacos: + username: nacos + password: nacos discovery: enabled: true register-enabled: true diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/src/main/resources/bootstrap.yaml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/src/main/resources/bootstrap.yaml index 0d8dfca9..bf4d028d 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/src/main/resources/bootstrap.yaml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/src/main/resources/bootstrap.yaml @@ -8,6 +8,8 @@ spring: # default disable all cloud: nacos: + username: nacos + password: nacos discovery: enabled: false register-enabled: false From ad7f546d0f47259eb82c4353ecfda730112ed576 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Thu, 2 Apr 2020 17:38:38 +0800 Subject: [PATCH 12/28] Update Samples --- spring-cloud-alibaba-dependencies/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 544c2b20..d572ce10 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -23,6 +23,7 @@ 1.1.0 1.2.1 0.8.0 + 1.0.6 From 08ba076a423140fa0a724e14adf471cabfbf98c5 Mon Sep 17 00:00:00 2001 From: mengjin Date: Thu, 2 Apr 2020 18:38:36 +0800 Subject: [PATCH 13/28] :sparkles: Introducing new features. Sentinel Support ConsulDataSource Dynamic Rule Configuration fix checkstyle error --- .../datasource/config/ConsulDataSourceProperties.java | 5 +++-- .../datasource/factorybean/ConsulDataSourceFactoryBean.java | 1 + .../main/resources/META-INF/sentinel-datasource.properties | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java index 98f064f5..871ee51b 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java @@ -17,6 +17,7 @@ package com.alibaba.cloud.sentinel.datasource.config; import com.alibaba.cloud.sentinel.datasource.factorybean.ConsulDataSourceFactoryBean; + import org.springframework.util.StringUtils; /** @@ -32,12 +33,12 @@ public class ConsulDataSourceProperties extends AbstractDataSourceProperties { } /** - * consul server host + * consul server host. */ private String host; /** - * consul server port + * consul server port. */ private int port=8500; diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java index ad132357..a8fc172d 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ConsulDataSourceFactoryBean.java @@ -18,6 +18,7 @@ package com.alibaba.cloud.sentinel.datasource.factorybean; import com.alibaba.csp.sentinel.datasource.Converter; import com.alibaba.csp.sentinel.datasource.consul.ConsulDataSource; + import org.springframework.beans.factory.FactoryBean; /** diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties index db4df37f..e67a3b9b 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties @@ -3,4 +3,4 @@ file =com.alibaba.csp.sentinel.datasource.FileRefreshableDataSource apollo = com.alibaba.csp.sentinel.datasource.apollo.ApolloDataSource zk = com.alibaba.csp.sentinel.datasource.zookeeper.ZookeeperDataSource redis = com.alibaba.csp.sentinel.datasource.redis.RedisDataSource -consul = com.alibaba.csp.sentinel.datasource.consul.ConsulDataSource \ No newline at end of file +consul = com.alibaba.csp.sentinel.datasource.consul.ConsulDataSource From 1606173836612dd441b255b3780bcf0d428fe18f Mon Sep 17 00:00:00 2001 From: mengjincn Date: Thu, 2 Apr 2020 19:15:05 +0800 Subject: [PATCH 14/28] :sparkles: Introducing new features. Sentinel Support ConsulDataSource Dynamic Rule Configuration --- .../sentinel/datasource/config/ConsulDataSourceProperties.java | 1 - 1 file changed, 1 deletion(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java index 871ee51b..d8176f5b 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ConsulDataSourceProperties.java @@ -54,7 +54,6 @@ public class ConsulDataSourceProperties extends AbstractDataSourceProperties { @Override public void preCheck(String dataSourceName) { - super.preCheck(dataSourceName); if(StringUtils.isEmpty(host)){ throw new IllegalArgumentException( "ConsulDataSource server-host is empty"); From 6a25ae046d059cbb5d8a1d28f1a719f31cbd2df6 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 3 Apr 2020 16:50:45 +0800 Subject: [PATCH 15/28] Polish alibaba/spring-cloud-alibaba#1198 --- .../spring-cloud-starter-dubbo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml index c3f9cae8..547a81c4 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml @@ -91,7 +91,7 @@ org.apache.zookeeper zookeeper - 3.4.12 + 3.4.14 true From 0d8e1c4b41ea12ef2144ed19b508cccf23ae89a1 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 3 Apr 2020 18:43:36 +0800 Subject: [PATCH 16/28] Add into pom.xml --- pom.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pom.xml b/pom.xml index 2f5e411d..6afc5c56 100644 --- a/pom.xml +++ b/pom.xml @@ -413,5 +413,18 @@ + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + sonatype-nexus-staging + Nexus Release Repository + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + \ No newline at end of file From a1981338525e2868a17f9225de291b01e844d0de Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 3 Apr 2020 23:48:57 +0800 Subject: [PATCH 17/28] Update pom.xml --- .gitignore | 8 + pom.xml | 154 +++++++++--------- spring-cloud-alibaba-coverage/pom.xml | 2 +- spring-cloud-alibaba-dependencies/pom.xml | 3 +- spring-cloud-alibaba-docs/pom.xml | 2 +- .../nacos-config-example/pom.xml | 6 +- .../nacos-discovery-consumer-example/pom.xml | 5 +- .../pom.xml | 5 +- .../nacos-discovery-provider-example/pom.xml | 5 +- .../pom.xml | 5 +- .../pom.xml | 5 +- .../pom.xml | 5 +- .../nacos-discovery-example/pom.xml | 6 +- .../nacos-gateway-discovery-example/pom.xml | 5 +- .../nacos-gateway-provider-example/pom.xml | 5 +- .../nacos-gateway-example/pom.xml | 5 +- spring-cloud-alibaba-examples/pom.xml | 2 +- .../rocketmq-consume-example/pom.xml | 5 +- .../rocketmq-produce-example/pom.xml | 5 +- .../seata-example/account-service/pom.xml | 5 +- .../seata-example/business-service/pom.xml | 4 +- .../seata-example/order-service/pom.xml | 4 +- .../seata-example/storage-service/pom.xml | 4 +- .../sentinel-core-example/pom.xml | 5 +- .../sentinel-dubbo-api/pom.xml | 5 +- .../sentinel-dubbo-consumer-example/pom.xml | 5 +- .../sentinel-dubbo-provider-example/pom.xml | 5 +- .../sentinel-feign-consumer-example/pom.xml | 5 +- .../sentinel-feign-provider-example/pom.xml | 5 +- .../pom.xml | 5 +- .../sentinel-webflux-example/pom.xml | 5 +- .../sentinel-zuul-example/pom.xml | 5 +- .../pom.xml | 4 +- .../spring-cloud-dubbo-client-sample/pom.xml | 3 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../spring-cloud-dubbo-sample-api/pom.xml | 2 +- .../spring-cloud-dubbo-server-sample/pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../spring-cloud-bus-rocketmq-example/pom.xml | 7 +- spring-cloud-alibaba-starters/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../nacos/SidecarNacosDiscoveryClient.java | 8 +- .../spring-cloud-starter-bus-rocketmq/pom.xml | 2 +- .../spring-cloud-starter-dubbo/pom.xml | 2 +- .../pom.xml | 2 +- 57 files changed, 207 insertions(+), 163 deletions(-) diff --git a/.gitignore b/.gitignore index 942b16d3..a6bd7fbe 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,11 @@ hs_err_pid* target .DS_Store +# temp ignore +*.cache +*.diff +*.patch +*.tmp + +# Maven ignore +.flattened-pom.xml diff --git a/pom.xml b/pom.xml index 6afc5c56..be8c9976 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.alibaba.cloud spring-cloud-alibaba - 2.2.1.BUILD-SNAPSHOT + ${revision} pom Spring Cloud Alibaba Spring Cloud Alibaba @@ -72,6 +72,9 @@ + + 2.2.1.BUILD-SNAPSHOT + 2.2.2.RELEASE 2.2.2.RELEASE @@ -98,6 +101,9 @@ 3.7.0 2.8.2 2.21.0 + 3.1.1 + 1.6 + 1.1.0 1.6 0.8.3 @@ -348,83 +354,79 @@ - - spring - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/libs-snapshot-local - - true - - - false - - - - spring-milestones - Spring Milestones - https://repo.spring.io/libs-milestone-local - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/libs-snapshot-local - - true - - - false - - - - spring-milestones - Spring Milestones - https://repo.spring.io/libs-milestone-local - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/libs-release-local - - false - - - - + release + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + package + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven-gpg-plugin.version} + + + verify + + sign + + + + + + + org.codehaus.mojo + flatten-maven-plugin + ${flatten-maven-plugin.version} + + true + resolveCiFriendliesOnly + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + + + + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + sonatype-nexus-staging + Nexus Release Repository + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + - - - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - - sonatype-nexus-staging - Nexus Release Repository - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - \ No newline at end of file diff --git a/spring-cloud-alibaba-coverage/pom.xml b/spring-cloud-alibaba-coverage/pom.xml index d05bf6ad..eb2cc75b 100644 --- a/spring-cloud-alibaba-coverage/pom.xml +++ b/spring-cloud-alibaba-coverage/pom.xml @@ -8,7 +8,7 @@ com.alibaba.cloud spring-cloud-alibaba - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index d572ce10..387ba811 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -12,12 +12,13 @@ com.alibaba.cloud spring-cloud-alibaba-dependencies - 2.2.1.BUILD-SNAPSHOT + ${revision} pom Spring Cloud Alibaba Dependencies Spring Cloud Alibaba Dependencies + 2.2.1.BUILD-SNAPSHOT 1.7.1 3.1.0 1.1.0 diff --git a/spring-cloud-alibaba-docs/pom.xml b/spring-cloud-alibaba-docs/pom.xml index 6b9159de..1c03ca68 100644 --- a/spring-cloud-alibaba-docs/pom.xml +++ b/spring-cloud-alibaba-docs/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml index c2c1aa7f..cf5e5ada 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml @@ -5,15 +5,15 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 - nacos-config-example - jar + Spring Cloud Starter Alibaba Nacos Config Example Example demonstrating how to use nacos config + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml index 6836e986..4b0e61f1 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-discovery-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-discovery-consumer-example - jar + Spring Cloud Starter Alibaba Nacos Discovery Consumer Example Example demonstrating how to use nacos discovery + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/pom.xml index 69d86bb5..2771c802 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-discovery-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-discovery-consumer-sclb-example - jar + Spring Cloud Starter Alibaba Nacos Discovery x Load Balancer Example Example demonstrating how to use nacos discovery + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml index 09a5e33a..6e9b11d1 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-discovery-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-discovery-provider-example - jar + Spring Cloud Starter Alibaba Nacos Discovery Provider Example Example demonstrating how to use nacos discovery + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/pom.xml index e2b2d1d6..82cdbcd4 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-discovery-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-discovery-spring-cloud-config-client-example - jar + Spring Cloud Starter Alibaba Nacos Discovery x Config Client Example Example demonstrating how to use nacos discovery + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/pom.xml index 0402b2af..a04990fe 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-discovery-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-discovery-spring-cloud-config-server-example - jar + Spring Cloud Starter Alibaba Nacos Discovery x Config Server Example Example demonstrating how to use nacos discovery + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/pom.xml index b021aa3d..4d39842f 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-discovery-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-reactivediscovery-consumer-example - jar + Spring Cloud Starter Alibaba Nacos Discovery Reactive Example Example demonstrating how to use nacos discovery + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml index b067a041..0efdc8c9 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml @@ -5,15 +5,15 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 - nacos-discovery-example - pom + Spring Cloud Starter Alibaba Nacos Discovery Examples Example demonstrating how to use nacos discovery + pom diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/pom.xml index 726195a3..97e014c7 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-gateway-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-gateway-discovery-example - jar + Spring Cloud Starter Alibaba Nacos Discovery x Gateway Example Example demonstrating how to use gateway with nacos + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/pom.xml index a7d78adb..2662ab51 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud nacos-gateway-example - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 nacos-gateway-provider-example - jar + Spring Cloud Starter Alibaba Nacos Discovery x Gateway - Provider Example Example demonstrating how to use gateway with nacos + jar diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/pom.xml index 3c1b6f7b..7c3552a0 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/pom.xml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 nacos-gateway-example - pom + Spring Cloud Starter Alibaba Nacos Discovery x Gateway Examples Example demonstrating how to use gateway with nacos + pom diff --git a/spring-cloud-alibaba-examples/pom.xml b/spring-cloud-alibaba-examples/pom.xml index 7187c96e..157fc502 100644 --- a/spring-cloud-alibaba-examples/pom.xml +++ b/spring-cloud-alibaba-examples/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-consume-example/pom.xml b/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-consume-example/pom.xml index 27ea18a7..00bf7382 100644 --- a/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-consume-example/pom.xml +++ b/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-consume-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 rocketmq-consume-example - jar + Spring Cloud Starter Stream Alibaba RocketMQ Consume Example Example demonstrating how to use rocketmq consume + jar diff --git a/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-produce-example/pom.xml b/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-produce-example/pom.xml index e51cd32c..31de576b 100644 --- a/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-produce-example/pom.xml +++ b/spring-cloud-alibaba-examples/rocketmq-example/rocketmq-produce-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 rocketmq-produce-example - jar + Spring Cloud Starter Stream Alibaba RocketMQ Produce Example Example demonstrating how to use rocketmq produce + jar diff --git a/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml index a4fbd44b..99aa658f 100644 --- a/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml @@ -5,11 +5,14 @@ spring-cloud-alibaba-examples com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 + account-service + Spring Cloud Starter Alibaba Seata Example - Account Service + jar diff --git a/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml index 54f24ffd..0ae95db7 100644 --- a/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml @@ -5,11 +5,13 @@ spring-cloud-alibaba-examples com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 business-service + Spring Cloud Starter Alibaba Seata Example - Business Service + jar diff --git a/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml index 7d35ee32..a856310d 100644 --- a/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml @@ -5,11 +5,13 @@ spring-cloud-alibaba-examples com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 order-service + Spring Cloud Starter Alibaba Seata Example - Business Service + jar diff --git a/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml index 276be3a8..a2cbdccd 100644 --- a/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml @@ -5,11 +5,13 @@ spring-cloud-alibaba-examples com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 storage-service + Spring Cloud Starter Alibaba Seata Example - Storage Service + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml index 597311dc..650e46e7 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 sentinel-core-example - jar + Spring Cloud Starter Alibaba Sentinel Core Example Example demonstrating how to use sentinel + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml index ad4190ad..dcb0d8d4 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml @@ -5,14 +5,15 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../../pom.xml 4.0.0 sentinel-dubbo-api - jar + Spring Cloud Starter Alibaba Sentinel x Dubbo - API api for sentinel dubbo example + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml index 3c448d55..e1f0552b 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../../pom.xml 4.0.0 sentinel-dubbo-consumer-example - jar + Spring Cloud Starter Alibaba Sentinel x Dubbo - Consumer Example Example demonstrating how to use sentinel with dubbo + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml index e35522f7..78c64092 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../../pom.xml 4.0.0 sentinel-dubbo-provider-example - jar + Spring Cloud Starter Alibaba Sentinel x Dubbo - Provider Example Example demonstrating how to use sentinel with dubbo + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-consumer-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-consumer-example/pom.xml index 019e1bf8..2ef10965 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-consumer-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-consumer-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../../pom.xml 4.0.0 sentinel-feign-consumer-example - jar + Spring Cloud Starter Alibaba Sentinel x Feign - Consumer Example Example demonstrating how to use sentinel with feign + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-provider-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-provider-example/pom.xml index ddfceddd..8f31d86a 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-provider-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-feign-example/sentinel-feign-provider-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../../pom.xml 4.0.0 sentinel-feign-provider-example - jar + Spring Cloud Starter Alibaba Sentinel x Feign - Provider Example Example demonstrating how to use sentinel with feign + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-spring-cloud-gateway-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-spring-cloud-gateway-example/pom.xml index 46efa251..bfe1badc 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-spring-cloud-gateway-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-spring-cloud-gateway-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 sentinel-spring-cloud-gateway-example - jar + Spring Cloud Starter Alibaba Sentinel x Gateway Example Example demonstrating how to use sentinel with spring cloud gateway + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-webflux-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-webflux-example/pom.xml index ce3a18e3..3b3a7c1a 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-webflux-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-webflux-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 sentinel-webflux-example - jar + Spring Cloud Starter Alibaba Sentinel x WebFlux Example Example demonstrating how to use sentinel with webflux + jar diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-zuul-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-zuul-example/pom.xml index 5116bd6b..6fff4420 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-zuul-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-zuul-example/pom.xml @@ -5,15 +5,16 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 sentinel-zuul-example - jar + Spring Cloud Starter Alibaba Sentinel x Zuul Example Example demonstrating how to use sentinel with zuul + jar diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/pom.xml index 2a6990b1..75ed0883 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/pom.xml @@ -5,14 +5,14 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} Spring Cloud Alibaba Dubbo Examples pom diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/pom.xml index b850d55f..c37db212 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-client-sample/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 @@ -13,7 +13,6 @@ com.alibaba.cloud spring-cloud-dubbo-client-sample Spring Cloud Dubbo Client Sample - 2.2.1.BUILD-SNAPSHOT diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/pom.xml index e46c74c7..3b855121 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-consumer-sample/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/pom.xml index c2ecf556..d7e932e7 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/pom.xml index 219365b7..d434ebb1 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-web-sample/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-sample-api/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-sample-api/pom.xml index f3ae752c..8727237f 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-sample-api/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-sample-api/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} 4.0.0 diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-server-sample/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-server-sample/pom.xml index cbf3aac6..21e17c6d 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-server-sample/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-server-sample/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml @@ -14,7 +14,7 @@ com.alibaba.cloud spring-cloud-dubbo-server-sample Spring Cloud Dubbo Server Sample - 2.2.1.BUILD-SNAPSHOT + ${revision} diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/pom.xml index b619a7cc..b39b23ce 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-servlet-gateway-sample/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-dubbo-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-consul-example/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-consul-example/pom.xml index be092e0d..906c3e04 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-consul-example/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-consul-example/pom.xml @@ -4,13 +4,15 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 spring-cloud-alibaba-sidecar-consul-example + Spring Cloud Starter Alibaba Sidecar x Consul Example Example demonstrating how to use Spring Cloud Alibaba Sidecar with consul + jar diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/pom.xml index 3aa59a76..690d2031 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example/pom.xml @@ -4,13 +4,15 @@ com.alibaba.cloud spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT + ${revision} ../../pom.xml 4.0.0 spring-cloud-alibaba-sidecar-nacos-example + Spring Cloud Starter Alibaba Sidecar x Nacos Example Example demonstrating how to use Spring Cloud Alibaba Sidecar with nacos + jar diff --git a/spring-cloud-alibaba-examples/spring-cloud-bus-rocketmq-example/pom.xml b/spring-cloud-alibaba-examples/spring-cloud-bus-rocketmq-example/pom.xml index 1150cc0b..c0bbf98a 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-bus-rocketmq-example/pom.xml +++ b/spring-cloud-alibaba-examples/spring-cloud-bus-rocketmq-example/pom.xml @@ -5,14 +5,15 @@ spring-cloud-alibaba-examples com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml 4.0.0 spring-cloud-bus-rocketmq-example - Spring Cloud Bus RocketMQ Example - + Spring Cloud Starter Bus Alibaba RocketMQ Example + Example demonstrating how to use Spring Cloud Bus RocketMQ + jar diff --git a/spring-cloud-alibaba-starters/pom.xml b/spring-cloud-alibaba-starters/pom.xml index 366eeaec..1249b019 100644 --- a/spring-cloud-alibaba-starters/pom.xml +++ b/spring-cloud-alibaba-starters/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml index 794dde46..3b879f52 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml index 3b5b879b..2461c672 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml index 219cbbd7..90f0f0ff 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml index 1b0e8a4b..483914cf 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml index 0c555f91..0a36d2c8 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml index 8916a150..1751f4fc 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml index 970ae678..3f3e1a2e 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml index 9b0d6289..0bbd4cb6 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml index 0dc64538..f4af6d57 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml @@ -6,7 +6,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java index 15b6f35c..92bc65eb 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java @@ -40,8 +40,8 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient { @Override public void registerInstance(String applicationName, String ip, Integer port) { try { - this.nacosDiscoveryProperties.namingServiceInstance() - .registerInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port); + this.nacosDiscoveryProperties.namingServiceInstance().registerInstance( + applicationName, nacosDiscoveryProperties.getGroup(), ip, port); } catch (NacosException e) { log.warn("nacos exception happens", e); @@ -51,8 +51,8 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient { @Override public void deregisterInstance(String applicationName, String ip, Integer port) { try { - this.nacosDiscoveryProperties.namingServiceInstance() - .deregisterInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port); + this.nacosDiscoveryProperties.namingServiceInstance().deregisterInstance( + applicationName, nacosDiscoveryProperties.getGroup(), ip, port); } catch (NacosException e) { log.warn("nacos exception happens", e); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml index c7c52989..498b6aa9 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml @@ -6,7 +6,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml index 547a81c4..713378ea 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml @@ -6,7 +6,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml index 9203d1ca..ec44c9d7 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud spring-cloud-alibaba-starters - 2.2.1.BUILD-SNAPSHOT + ${revision} ../pom.xml From f2c7ecaafc773469d2c2e90d92b035bf035717c2 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Sat, 4 Apr 2020 00:32:58 +0800 Subject: [PATCH 18/28] Update pom.xml --- pom.xml | 14 +++ spring-cloud-alibaba-dependencies/pom.xml | 146 +++++++++++++--------- 2 files changed, 102 insertions(+), 58 deletions(-) diff --git a/pom.xml b/pom.xml index be8c9976..8696751a 100644 --- a/pom.xml +++ b/pom.xml @@ -101,6 +101,7 @@ 3.7.0 2.8.2 2.21.0 + 2.2.1 3.1.1 1.6 1.1.0 @@ -358,6 +359,19 @@ release + + org.apache.maven.plugins + maven-source-plugin + ${maven-source-plugin.version} + + + package + + jar-no-fork + + + + org.apache.maven.plugins maven-javadoc-plugin diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 387ba811..7bb2740a 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -25,6 +25,12 @@ 1.2.1 0.8.0 1.0.6 + + + 2.2.1 + 3.1.1 + 1.6 + 1.1.0 @@ -253,67 +259,91 @@ - - spring - + release + + + + org.apache.maven.plugins + maven-source-plugin + ${maven-source-plugin.version} + + + package + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + package + + jar + + + + + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven-gpg-plugin.version} + + + verify + + sign + + + + + + + org.codehaus.mojo + flatten-maven-plugin + ${flatten-maven-plugin.version} + + true + resolveCiFriendliesOnly + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + + + + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + - spring-snapshots - Spring Snapshots - https://repo.spring.io/libs-snapshot-local - - true - - - false - + sonatype-nexus-staging + Nexus Release Repository + https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - spring-milestones - Spring Milestones - https://repo.spring.io/libs-milestone-local - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/libs-snapshot-local - - true - - - false - - - - spring-milestones - Spring Milestones - https://repo.spring.io/libs-milestone-local - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/libs-release-local - - false - - - + From 210271632301d590b58a24bd0d1b80fcfca43553 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Sat, 4 Apr 2020 01:11:03 +0800 Subject: [PATCH 19/28] Update pom.xml --- mvnw | 3 ++- spring-cloud-alibaba-coverage/pom.xml | 22 ++++++++++----------- spring-cloud-alibaba-dependencies/pom.xml | 24 +++++++++++------------ 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/mvnw b/mvnw index 675cb6b0..761189a9 100755 --- a/mvnw +++ b/mvnw @@ -227,7 +227,7 @@ export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain echo "Running version check" -VERSION=$( sed '\!//' -e 's!.*$!!' ) +VERSION=$( sed '\!//' -e 's!.*$!!' ) echo "The found version is [${VERSION}]" if echo $VERSION | egrep -q 'M|RC'; then @@ -249,5 +249,6 @@ fi exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Drevision=${VERSION}" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} ${MAVEN_ARGS} "$@" \ No newline at end of file diff --git a/spring-cloud-alibaba-coverage/pom.xml b/spring-cloud-alibaba-coverage/pom.xml index eb2cc75b..9df89df8 100644 --- a/spring-cloud-alibaba-coverage/pom.xml +++ b/spring-cloud-alibaba-coverage/pom.xml @@ -19,66 +19,66 @@ com.alibaba.cloud spring-cloud-alibaba-sentinel-datasource - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-sentinel - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-circuitbreaker-sentinel - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-seata - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config-server - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-stream-rocketmq - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-bus-rocketmq - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-sidecar - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-dubbo - ${project.version} + ${revision} diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 7bb2740a..a7cf151b 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -178,73 +178,73 @@ com.alibaba.cloud spring-cloud-alibaba-sentinel-datasource - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-alibaba-sentinel-gateway - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-sentinel - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-circuitbreaker-sentinel - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-seata - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config-server - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-stream-rocketmq - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-bus-rocketmq - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-alibaba-sidecar - ${project.version} + ${revision} com.alibaba.cloud spring-cloud-starter-dubbo - ${project.version} + ${revision} From 7962b1fb6dec1b65c65d76355bc2f8c33afc1c8e Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Sat, 4 Apr 2020 01:15:29 +0800 Subject: [PATCH 20/28] Update pom.xml --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3f260a24..3beeaa62 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -24,7 +24,7 @@ jobs: - ~/.m2 - run: name: "Running build" - command: ./mvnw -Pdocs clean install -U -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dgpg.skip + command: ./mvnw clean install -U -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dgpg.skip - run: name: "Aggregate test results" when: always From 6c4d6024d717fb0bb8631f2af21cbabd2af01a41 Mon Sep 17 00:00:00 2001 From: slievrly Date: Wed, 8 Apr 2020 21:08:46 +0800 Subject: [PATCH 21/28] optimize: optimize SeataHystrixConcurrencyStrategy --- .../SeataHystrixConcurrencyStrategy.java | 91 +++++++++++++++++-- 1 file changed, 82 insertions(+), 9 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java index 59253059..94185c8a 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java @@ -16,23 +16,93 @@ package com.alibaba.cloud.seata.feign.hystrix; +import java.util.concurrent.BlockingQueue; import java.util.concurrent.Callable; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import com.netflix.hystrix.HystrixThreadPoolKey; +import com.netflix.hystrix.HystrixThreadPoolProperties; import com.netflix.hystrix.strategy.HystrixPlugins; import com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy; +import com.netflix.hystrix.strategy.concurrency.HystrixRequestVariable; +import com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableLifecycle; +import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; +import com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook; +import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; +import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; +import com.netflix.hystrix.strategy.properties.HystrixProperty; import io.seata.core.context.RootContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; /** * @author xiaojing */ public class SeataHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy { + private final Logger logger = LoggerFactory.getLogger(SeataHystrixConcurrencyStrategy.class); private HystrixConcurrencyStrategy delegate; public SeataHystrixConcurrencyStrategy() { - this.delegate = HystrixPlugins.getInstance().getConcurrencyStrategy(); - HystrixPlugins.reset(); - HystrixPlugins.getInstance().registerConcurrencyStrategy(this); + try { + this.delegate = HystrixPlugins.getInstance().getConcurrencyStrategy(); + if (this.delegate instanceof SeataHystrixConcurrencyStrategy) { + return; + } + HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins.getInstance().getCommandExecutionHook(); + HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance().getEventNotifier(); + HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance().getMetricsPublisher(); + HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance().getPropertiesStrategy(); + logCurrentStateOfHystrixPlugins(eventNotifier, metricsPublisher, propertiesStrategy); + HystrixPlugins.reset(); + HystrixPlugins.getInstance().registerConcurrencyStrategy(this); + HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook); + HystrixPlugins.getInstance().registerEventNotifier(eventNotifier); + HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher); + HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy); + } catch (Exception ex) { + logger.error("Failed to register Seata Hystrix Concurrency Strategy", ex); + } + } + + private void logCurrentStateOfHystrixPlugins(HystrixEventNotifier eventNotifier, + HystrixMetricsPublisher metricsPublisher, + HystrixPropertiesStrategy propertiesStrategy) { + if (logger.isDebugEnabled()) { + logger.debug("Current Hystrix plugins configuration is [" + "concurrencyStrategy [" + this.delegate + "]," + + "eventNotifier [" + eventNotifier + "]," + "metricPublisher [" + metricsPublisher + "]," + + "propertiesStrategy [" + propertiesStrategy + "]," + "]"); + logger.debug("Registering Seata Hystrix Concurrency Strategy."); + } + } + + @Override + public ThreadPoolExecutor getThreadPool(HystrixThreadPoolKey threadPoolKey, HystrixProperty corePoolSize, + HystrixProperty maximumPoolSize, + HystrixProperty keepAliveTime, TimeUnit unit, + BlockingQueue workQueue) { + return this.delegate.getThreadPool(threadPoolKey, corePoolSize, maximumPoolSize, keepAliveTime, unit, + workQueue); + } + + @Override + public ThreadPoolExecutor getThreadPool(HystrixThreadPoolKey threadPoolKey, + HystrixThreadPoolProperties threadPoolProperties) { + return this.delegate.getThreadPool(threadPoolKey, threadPoolProperties); + } + + @Override + public BlockingQueue getBlockingQueue(int maxQueueSize) { + return this.delegate.getBlockingQueue(maxQueueSize); + } + + @Override + public HystrixRequestVariable getRequestVariable(HystrixRequestVariableLifecycle rv) { + return this.delegate.getRequestVariable(rv); } @Override @@ -44,15 +114,14 @@ public class SeataHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy Callable wrappedCallable; if (this.delegate != null) { wrappedCallable = this.delegate.wrapCallable(c); - } - else { + } else { wrappedCallable = c; } if (wrappedCallable instanceof SeataContextCallable) { return wrappedCallable; } - return new SeataContextCallable<>(wrappedCallable); + return new SeataContextCallable<>(wrappedCallable, RequestContextHolder.getRequestAttributes()); } private static class SeataContextCallable implements Callable { @@ -61,19 +130,23 @@ public class SeataHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy private final String xid; - SeataContextCallable(Callable actual) { + private final RequestAttributes requestAttributes; + + SeataContextCallable(Callable actual, RequestAttributes requestAttribute) { this.actual = actual; + this.requestAttributes = requestAttribute; this.xid = RootContext.getXID(); } @Override public K call() throws Exception { try { + RequestContextHolder.setRequestAttributes(requestAttributes); RootContext.bind(xid); return actual.call(); - } - finally { + } finally { RootContext.unbind(); + RequestContextHolder.resetRequestAttributes(); } } From ce1fd65016391f79def401e730befe8c12833954 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 10:17:43 +0800 Subject: [PATCH 22/28] Use ${session.executionRootDirectory} as the root directory in Maven project --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8696751a..468b0224 100644 --- a/pom.xml +++ b/pom.xml @@ -311,7 +311,7 @@ - eclipse/checkstyle-suppressions.xml + ${session.executionRootDirectory}/eclipse/checkstyle-suppressions.xml true true true From 5cdb50383c0e4619fd1b35de8455e65d250a5e4b Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 10:24:57 +0800 Subject: [PATCH 23/28] Remove the startup arguments for Maven --- .mvn/maven.config | 1 - 1 file changed, 1 deletion(-) diff --git a/.mvn/maven.config b/.mvn/maven.config index 3b8cf46e..e69de29b 100644 --- a/.mvn/maven.config +++ b/.mvn/maven.config @@ -1 +0,0 @@ --DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local -P spring From d736d13538f48a863709588bcfcc06a57240405e Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 10:40:47 +0800 Subject: [PATCH 24/28] Polish alibaba/spring-cloud-alibaba#1342 : [Infrastructure] Upgrade the Dubbo #1342 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 468b0224..e1732e05 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.7.25 - 2.7.4.1 + 2.7.6 4.0.1 From d82aaa81b3c1ba5295b9f168a7a67e01722641f2 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 10:49:59 +0800 Subject: [PATCH 25/28] Polish alibaba/spring-cloud-alibaba#1342 : [Infrastructure] Upgrade the Dubbo #1342 --- .../com/alibaba/cloud/dubbo/annotation/DubboTransported.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java index c8c61700..efe083ea 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java @@ -30,7 +30,7 @@ import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.client.RestTemplate; -import static org.apache.dubbo.rpc.cluster.Constants.DEFAULT_RETRIES; +import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_RETRIES; /** * {@link DubboTransported @DubboTransported} annotation indicates that the traditional From 7db65d31c848d125c861da813fd6f590f5cce711 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 15:19:02 +0800 Subject: [PATCH 26/28] Upgrade to 2.2.1.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e1732e05..69c5a65f 100644 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ - 2.2.1.BUILD-SNAPSHOT + 2.2.1.RELEASE 2.2.2.RELEASE From 813b39fd6eec91fa597bcf77ee1395eac556d249 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 15:37:26 +0800 Subject: [PATCH 27/28] Add the developer --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 69c5a65f..08629915 100644 --- a/pom.xml +++ b/pom.xml @@ -69,6 +69,13 @@ yunzheng yunzheng1228@gmail.com + + theonefx + theonefx + chenxilzx1@gmail.com + Alibaba + https://github.com/theonefx + From 2e751af4c04f419316f1aae5e2ebaeb2e1c3d59d Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Fri, 10 Apr 2020 19:11:56 +0800 Subject: [PATCH 28/28] Upgrade to 2.2.1.RELEASE --- spring-cloud-alibaba-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 2723523e..25190946 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -18,7 +18,7 @@ Spring Cloud Alibaba Dependencies - 2.2.1.BUILD-SNAPSHOT + 2.2.1.RELEASE 1.7.1 3.1.0 1.1.0