From 27ddaa68a81214832a0351db439eabbef9aed7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=A6=E7=9B=8F?= Date: Wed, 17 Oct 2018 12:35:42 +0800 Subject: [PATCH 1/6] separate registry and discovery --- .../NacosDiscoveryAutoConfiguration.java | 7 --- .../alibaba/nacos/NacosDiscoveryClient.java | 61 ++++++++----------- ...NacosDiscoveryClientAutoConfiguration.java | 6 ++ .../nacos/NacosDiscoveryProperties.java | 35 +++++++++++ .../endpoint/NacosDiscoveryEndpoint.java | 6 +- ...cosDiscoveryEndpointAutoConfiguration.java | 1 - .../nacos/registry/NacosRegistration.java | 22 +------ .../alibaba/nacos/ribbon/NacosServerList.java | 6 +- .../NacosDiscoveryAutoConfigurationTests.java | 1 + .../NacosRibbonClientConfigurationTests.java | 2 + 10 files changed, 77 insertions(+), 70 deletions(-) diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java index 78c7ddcca..6e0874221 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java @@ -16,7 +16,6 @@ package org.springframework.cloud.alibaba.nacos; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -48,12 +47,6 @@ public class NacosDiscoveryAutoConfiguration { return new NacosServiceRegistry(); } - @Bean - @ConditionalOnMissingBean - public NacosDiscoveryProperties nacosProperties() { - return new NacosDiscoveryProperties(); - } - @Bean @ConditionalOnBean(AutoServiceRegistrationProperties.class) public NacosRegistration nacosRegistration() { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java index f9acd9476..bab4b1a2a 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java @@ -19,13 +19,15 @@ package org.springframework.cloud.alibaba.nacos; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration; +import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.core.env.Environment; -import java.net.URI; import java.util.*; +import javax.annotation.PostConstruct; + import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; import com.alibaba.nacos.api.naming.pojo.ListView; @@ -40,52 +42,37 @@ public class NacosDiscoveryClient implements DiscoveryClient { public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client"; @Autowired - private NacosRegistration nacosRegistration; + private NacosDiscoveryProperties discoveryProperties; + + @Autowired + private Environment environment; + + private NamingService namingService; @Override public String description() { return DESCRIPTION; } + @PostConstruct + public void init() { + discoveryProperties.overrideFromEnv(environment); + namingService = discoveryProperties.getNamingService(); + } + @Override public ServiceInstance getLocalServiceInstance() { - return new ServiceInstance() { - @Override - public String getServiceId() { - return nacosRegistration.getServiceId(); - } - - @Override - public String getHost() { - return nacosRegistration.getHost(); - } - - @Override - public int getPort() { - return nacosRegistration.getPort(); - } - - @Override - public boolean isSecure() { - return nacosRegistration.isSecure(); - } - - @Override - public URI getUri() { - return nacosRegistration.getUri(); - } - - @Override - public Map getMetadata() { - return nacosRegistration.getMetadata(); - } - }; + String serviceId = discoveryProperties.getService(); + String host = discoveryProperties.getIp(); + int port = discoveryProperties.getPort(); + boolean secure = discoveryProperties.isSecure(); + Map metadata = discoveryProperties.getMetadata(); + return new DefaultServiceInstance(serviceId, host, port, secure, metadata); } @Override public List getInstances(String serviceId) { try { - NamingService namingService = nacosRegistration.getNacosNamingService(); List instances = namingService.getAllInstances(serviceId); return hostToServiceInstanceList(instances, serviceId); } @@ -126,7 +113,6 @@ public class NacosDiscoveryClient implements DiscoveryClient { public List getServices() { try { - NamingService namingService = nacosRegistration.getNacosNamingService(); ListView services = namingService.getServicesOfServer(1, Integer.MAX_VALUE); return services.getData(); @@ -137,4 +123,7 @@ public class NacosDiscoveryClient implements DiscoveryClient { } } + public NamingService getNamingService() { + return namingService; + } } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java index 2563cbe6d..05049f4b3 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java @@ -36,4 +36,10 @@ public class NacosDiscoveryClientAutoConfiguration { return new NacosDiscoveryClient(); } + @Bean + @ConditionalOnMissingBean + public NacosDiscoveryProperties nacosProperties() { + return new NacosDiscoveryProperties(); + } + } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java index 43b6a5c7e..aa9271a8d 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java @@ -16,6 +16,8 @@ package org.springframework.cloud.alibaba.nacos; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -33,6 +35,18 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.Properties; + +import com.alibaba.nacos.api.NacosFactory; +import com.alibaba.nacos.api.naming.NamingService; +import com.alibaba.nacos.client.naming.utils.UtilAndComs; + +import static com.alibaba.nacos.api.PropertyKeyConst.ACCESS_KEY; +import static com.alibaba.nacos.api.PropertyKeyConst.CLUSTER_NAME; +import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT; +import static com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE; +import static com.alibaba.nacos.api.PropertyKeyConst.SECRET_KEY; +import static com.alibaba.nacos.api.PropertyKeyConst.SERVER_ADDR; /** * @author dungu.zpf @@ -42,6 +56,9 @@ import java.util.Objects; @ConfigurationProperties("spring.cloud.nacos.discovery") public class NacosDiscoveryProperties { + private static final Logger LOGGER = LoggerFactory + .getLogger(NacosDiscoveryProperties.class); + /** * nacos discovery server address */ @@ -333,4 +350,22 @@ public class NacosDiscoveryProperties { } } + public NamingService getNamingService() { + Properties properties = new Properties(); + properties.put(SERVER_ADDR, serverAddr); + properties.put(NAMESPACE, namespace); + properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, logName); + properties.put(ENDPOINT, endpoint); + properties.put(ACCESS_KEY, accessKey); + properties.put(SECRET_KEY, secretKey); + properties.put(CLUSTER_NAME, clusterName); + try { + return NacosFactory.createNamingService(properties); + } + catch (Exception e) { + LOGGER.error("create naming service error!properties={},e=,", this, e); + return null; + } + } + } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java index a68f63008..dfa1fbb66 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java @@ -28,8 +28,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.endpoint.AbstractEndpoint; +import org.springframework.cloud.alibaba.nacos.NacosDiscoveryClient; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; -import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration; /** * Endpoint for nacos discovery, get nacos properties and subscribed services @@ -44,7 +44,7 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint private NacosDiscoveryProperties nacosDiscoveryProperties; @Autowired - private NacosRegistration nacosRegistration; + private NacosDiscoveryClient discoveryClient; public NacosDiscoveryEndpoint() { super("nacos_discovery", false); @@ -58,7 +58,7 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint Map result = new HashMap<>(); result.put("NacosDiscoveryProperties", nacosDiscoveryProperties); - NamingService namingService = nacosRegistration.getNacosNamingService(); + NamingService namingService = discoveryClient.getNamingService(); List subscribe = Collections.emptyList(); try { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java index 5278cd3b4..eab954111 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java @@ -26,7 +26,6 @@ import org.springframework.context.annotation.Configuration; * @author xiaojing */ @Configuration -@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true) @ConditionalOnClass(name = "org.springframework.boot.actuate.endpoint.AbstractEndpoint") public class NacosDiscoveryEndpointAutoConfiguration { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java index 1fc12d7fb..872d7dd8b 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java @@ -28,15 +28,10 @@ import org.springframework.util.StringUtils; import java.net.URI; import java.util.Map; -import java.util.Properties; import javax.annotation.PostConstruct; -import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.naming.NamingService; -import com.alibaba.nacos.client.naming.utils.UtilAndComs; - -import static com.alibaba.nacos.api.PropertyKeyConst.*; /** * @author xiaojing @@ -60,22 +55,7 @@ public class NacosRegistration implements Registration, ServiceInstance { Environment env = context.getEnvironment(); nacosDiscoveryProperties.overrideFromEnv(context.getEnvironment()); - - Properties properties = new Properties(); - properties.put(SERVER_ADDR, nacosDiscoveryProperties.getServerAddr()); - properties.put(NAMESPACE, nacosDiscoveryProperties.getNamespace()); - properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, - nacosDiscoveryProperties.getLogName()); - properties.put(ENDPOINT, nacosDiscoveryProperties.getEndpoint()); - properties.put(ACCESS_KEY, nacosDiscoveryProperties.getAccessKey()); - properties.put(SECRET_KEY, nacosDiscoveryProperties.getSecretKey()); - properties.put(CLUSTER_NAME, nacosDiscoveryProperties.getClusterName()); - try { - nacosNamingService = NacosFactory.createNamingService(properties); - } - catch (Exception e) { - - } + nacosNamingService = nacosDiscoveryProperties.getNamingService(); Integer managementPort = ManagementServerPortUtils.getPort(context); if (null != managementPort) { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java index 3eb43bbcc..c85339c39 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java @@ -19,7 +19,9 @@ package org.springframework.cloud.alibaba.nacos.ribbon; import com.netflix.client.config.IClientConfig; import com.netflix.loadbalancer.AbstractServerList; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.alibaba.nacos.NacosDiscoveryClient; import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration; +import org.springframework.cloud.client.discovery.DiscoveryClient; import java.util.ArrayList; import java.util.List; @@ -32,7 +34,7 @@ import com.alibaba.nacos.api.naming.pojo.Instance; public class NacosServerList extends AbstractServerList { @Autowired - private NacosRegistration registration; + private NacosDiscoveryClient discoveryClient; private String serviceId; @@ -55,7 +57,7 @@ public class NacosServerList extends AbstractServerList { private List getServers() { try { - List instances = registration.getNacosNamingService() + List instances = discoveryClient.getNamingService() .getAllInstances(serviceId); return instancesToServerList(instances); } diff --git a/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfigurationTests.java b/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfigurationTests.java index 1fe9fdaa7..4be0dd929 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfigurationTests.java +++ b/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfigurationTests.java @@ -42,6 +42,7 @@ public class NacosDiscoveryAutoConfigurationTests { @Before public void setUp() throws Exception { this.context = new SpringApplicationBuilder(NacosDiscoveryTestConfiguration.class, + NacosDiscoveryClientAutoConfiguration.class, NacosDiscoveryAutoConfiguration.class).web(false).run( "--spring.cloud.nacos.discovery.server-addr=127.0.0.1:8080", "--spring.cloud.nacos.discovery.port=18080", diff --git a/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRibbonClientConfigurationTests.java b/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRibbonClientConfigurationTests.java index f0354b347..c0f808d91 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRibbonClientConfigurationTests.java +++ b/spring-cloud-alibaba-nacos-discovery/src/test/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRibbonClientConfigurationTests.java @@ -9,6 +9,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryAutoConfiguration; +import org.springframework.cloud.alibaba.nacos.NacosDiscoveryClientAutoConfiguration; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; @@ -33,6 +34,7 @@ public class NacosRibbonClientConfigurationTests { public void setUp() throws Exception { this.context = new SpringApplicationBuilder(NacosRibbonTestConfiguration.class, NacosDiscoveryAutoConfiguration.class, + NacosDiscoveryClientAutoConfiguration.class, NacosRibbonClientConfiguration.class, RibbonNacosAutoConfiguration.class) .web(false).run("--server.port=18080", "--spring.cloud.nacos.discovery.server-addr=127.0.0.1:8080", From cf5d407e85adae3b48970bb26b18f991b4242942 Mon Sep 17 00:00:00 2001 From: flystar32 Date: Mon, 22 Oct 2018 19:00:34 +0800 Subject: [PATCH 2/6] update nacos version to 0.3.0-RC1 --- 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 8fc04cea2..d9455dc7a 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -18,7 +18,7 @@ 0.2.0 3.1.0 - 0.2.1 + 0.3.0-RC1 From b434af445516ce427b55188ca677aaf2d8d3c697 Mon Sep 17 00:00:00 2001 From: flystar32 Date: Mon, 22 Oct 2018 20:10:41 +0800 Subject: [PATCH 3/6] separate namingservice from nacosregistration and discoveryclient --- .../alibaba/nacos/NacosDiscoveryClient.java | 23 ++++--------------- .../nacos/NacosDiscoveryProperties.java | 17 ++++++++++++-- .../endpoint/NacosDiscoveryEndpoint.java | 6 +---- .../nacos/registry/NacosRegistration.java | 14 ++--------- 4 files changed, 23 insertions(+), 37 deletions(-) diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java index bab4b1a2a..ba1d4ef08 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java @@ -22,12 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; -import org.springframework.core.env.Environment; import java.util.*; -import javax.annotation.PostConstruct; - import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.pojo.Instance; import com.alibaba.nacos.api.naming.pojo.ListView; @@ -44,22 +41,11 @@ public class NacosDiscoveryClient implements DiscoveryClient { @Autowired private NacosDiscoveryProperties discoveryProperties; - @Autowired - private Environment environment; - - private NamingService namingService; - @Override public String description() { return DESCRIPTION; } - @PostConstruct - public void init() { - discoveryProperties.overrideFromEnv(environment); - namingService = discoveryProperties.getNamingService(); - } - @Override public ServiceInstance getLocalServiceInstance() { String serviceId = discoveryProperties.getService(); @@ -73,7 +59,8 @@ public class NacosDiscoveryClient implements DiscoveryClient { @Override public List getInstances(String serviceId) { try { - List instances = namingService.getAllInstances(serviceId); + List instances = discoveryProperties.namingServiceInstance() + .getAllInstances(serviceId); return hostToServiceInstanceList(instances, serviceId); } catch (Exception e) { @@ -113,8 +100,8 @@ public class NacosDiscoveryClient implements DiscoveryClient { public List getServices() { try { - ListView services = namingService.getServicesOfServer(1, - Integer.MAX_VALUE); + ListView services = discoveryProperties.namingServiceInstance() + .getServicesOfServer(1, Integer.MAX_VALUE); return services.getData(); } catch (Exception e) { @@ -124,6 +111,6 @@ public class NacosDiscoveryClient implements DiscoveryClient { } public NamingService getNamingService() { - return namingService; + return discoveryProperties.namingServiceInstance(); } } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java index aa9271a8d..fdb0d0e93 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java @@ -142,6 +142,11 @@ public class NacosDiscoveryProperties { @Autowired private InetUtils inetUtils; + @Autowired + private Environment environment; + + private NamingService namingService; + @PostConstruct public void init() throws SocketException { @@ -180,6 +185,8 @@ public class NacosDiscoveryProperties { } } + + this.overrideFromEnv(environment); } public String getEndpoint() { @@ -350,7 +357,12 @@ public class NacosDiscoveryProperties { } } - public NamingService getNamingService() { + public NamingService namingServiceInstance() { + + if (null != namingService) { + return namingService; + } + Properties properties = new Properties(); properties.put(SERVER_ADDR, serverAddr); properties.put(NAMESPACE, namespace); @@ -360,7 +372,8 @@ public class NacosDiscoveryProperties { properties.put(SECRET_KEY, secretKey); properties.put(CLUSTER_NAME, clusterName); try { - return NacosFactory.createNamingService(properties); + namingService = NacosFactory.createNamingService(properties); + return namingService; } catch (Exception e) { LOGGER.error("create naming service error!properties={},e=,", this, e); diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java index dfa1fbb66..ef29eae19 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java @@ -28,7 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.endpoint.AbstractEndpoint; -import org.springframework.cloud.alibaba.nacos.NacosDiscoveryClient; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; /** @@ -43,9 +42,6 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint @Autowired private NacosDiscoveryProperties nacosDiscoveryProperties; - @Autowired - private NacosDiscoveryClient discoveryClient; - public NacosDiscoveryEndpoint() { super("nacos_discovery", false); } @@ -58,7 +54,7 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint Map result = new HashMap<>(); result.put("NacosDiscoveryProperties", nacosDiscoveryProperties); - NamingService namingService = discoveryClient.getNamingService(); + NamingService namingService = nacosDiscoveryProperties.namingServiceInstance(); List subscribe = Collections.emptyList(); try { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java index 872d7dd8b..3254bc754 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosRegistration.java @@ -48,15 +48,10 @@ public class NacosRegistration implements Registration, ServiceInstance { @Autowired private ApplicationContext context; - private NamingService nacosNamingService; - @PostConstruct public void init() { Environment env = context.getEnvironment(); - nacosDiscoveryProperties.overrideFromEnv(context.getEnvironment()); - nacosNamingService = nacosDiscoveryProperties.getNamingService(); - Integer managementPort = ManagementServerPortUtils.getPort(context); if (null != managementPort) { Map metadata = nacosDiscoveryProperties.getMetadata(); @@ -123,11 +118,7 @@ public class NacosRegistration implements Registration, ServiceInstance { } public NamingService getNacosNamingService() { - return nacosNamingService; - } - - public void setNacosNamingService(NamingService nacosNamingService) { - this.nacosNamingService = nacosNamingService; + return nacosDiscoveryProperties.namingServiceInstance(); } public void setNacosDiscoveryProperties( @@ -138,7 +129,6 @@ public class NacosRegistration implements Registration, ServiceInstance { @Override public String toString() { return "NacosRegistration{" + "nacosDiscoveryProperties=" - + nacosDiscoveryProperties + ", nacosNamingService=" + nacosNamingService - + '}'; + + nacosDiscoveryProperties + '}'; } } From 79b41ceaa626fa303e121c5b1116e860cd8d8be5 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 23 Oct 2018 15:01:13 -0400 Subject: [PATCH 4/6] Updates to snapshot versions --- pom.xml | 2 +- spring-cloud-alibaba-dependencies/pom.xml | 2 +- .../nacos-example/nacos-config-example/pom.xml | 2 +- .../nacos-discovery-consumer-example/pom.xml | 2 +- .../nacos-discovery-provider-example/pom.xml | 2 +- .../nacos-example/nacos-discovery-example/pom.xml | 2 +- spring-cloud-alibaba-examples/oss-example/pom.xml | 2 +- spring-cloud-alibaba-examples/pom.xml | 2 +- .../sentinel-example/sentinel-core-example/pom.xml | 2 +- .../sentinel-dubbo-example/sentinel-dubbo-api/pom.xml | 2 +- .../sentinel-dubbo-consumer-example/pom.xml | 2 +- .../sentinel-dubbo-provider-example/pom.xml | 2 +- spring-cloud-alibaba-nacos-config/pom.xml | 2 +- spring-cloud-alibaba-nacos-discovery/pom.xml | 2 +- spring-cloud-alibaba-sentinel/pom.xml | 2 +- spring-cloud-alibaba-test/core-support/pom.xml | 2 +- spring-cloud-alibaba-test/pom.xml | 2 +- spring-cloud-alibaba-test/sentinel-test-support/pom.xml | 2 +- spring-cloud-alicloud-oss/pom.xml | 2 +- spring-cloud-starter-alibaba/pom.xml | 2 +- .../spring-cloud-starter-alibaba-nacos-config/pom.xml | 2 +- .../spring-cloud-starter-alibaba-nacos-discovery/pom.xml | 2 +- .../spring-cloud-starter-alibaba-sentinel/pom.xml | 2 +- spring-cloud-starter-alicloud/pom.xml | 2 +- .../spring-cloud-starter-alicloud-oss/pom.xml | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/pom.xml b/pom.xml index 960ae4c4c..7119f44c2 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT pom Spring Cloud Alibaba diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index d9455dc7a..de5831c51 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -10,7 +10,7 @@ spring-cloud-alibaba-dependencies - 0.1.0 + 0.1.0.BUILD-SNAPSHOT pom Spring Cloud Alibaba Dependencies Spring Cloud Alibaba Dependencies 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 251ab7224..4ba76451c 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,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT ../../pom.xml 4.0.0 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 04912e722..ae431ced1 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,7 +5,7 @@ org.springframework.cloud nacos-discovery-example - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 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 51f025c1f..eb67ce866 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,7 +5,7 @@ org.springframework.cloud nacos-discovery-example - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 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 5ca506f5f..0185baf5b 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,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/spring-cloud-alibaba-examples/oss-example/pom.xml b/spring-cloud-alibaba-examples/oss-example/pom.xml index ea01e412a..06a6ffe36 100644 --- a/spring-cloud-alibaba-examples/oss-example/pom.xml +++ b/spring-cloud-alibaba-examples/oss-example/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-examples/pom.xml b/spring-cloud-alibaba-examples/pom.xml index 0a5e3e7ce..fbf652077 100644 --- a/spring-cloud-alibaba-examples/pom.xml +++ b/spring-cloud-alibaba-examples/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 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 3ba3032b9..65123f51e 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,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT ../../pom.xml 4.0.0 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 b8f3dbffd..a54dd6ba0 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,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT ../../../pom.xml 4.0.0 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 30a123bc9..3d55cec0a 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,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT ../../../pom.xml 4.0.0 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 54feb1b4d..37df305a8 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,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.1.0 + 0.1.0.BUILD-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/spring-cloud-alibaba-nacos-config/pom.xml b/spring-cloud-alibaba-nacos-config/pom.xml index 85a31d69e..0ffb286d5 100644 --- a/spring-cloud-alibaba-nacos-config/pom.xml +++ b/spring-cloud-alibaba-nacos-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-nacos-discovery/pom.xml b/spring-cloud-alibaba-nacos-discovery/pom.xml index cee5c8373..ff061d2f6 100644 --- a/spring-cloud-alibaba-nacos-discovery/pom.xml +++ b/spring-cloud-alibaba-nacos-discovery/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-sentinel/pom.xml b/spring-cloud-alibaba-sentinel/pom.xml index 76ccd033e..31dd8e7b2 100644 --- a/spring-cloud-alibaba-sentinel/pom.xml +++ b/spring-cloud-alibaba-sentinel/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-test/core-support/pom.xml b/spring-cloud-alibaba-test/core-support/pom.xml index 0994a168b..2a0cc989a 100644 --- a/spring-cloud-alibaba-test/core-support/pom.xml +++ b/spring-cloud-alibaba-test/core-support/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-test - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-test/pom.xml b/spring-cloud-alibaba-test/pom.xml index be1225c6c..acdd688db 100644 --- a/spring-cloud-alibaba-test/pom.xml +++ b/spring-cloud-alibaba-test/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-test/sentinel-test-support/pom.xml b/spring-cloud-alibaba-test/sentinel-test-support/pom.xml index a5cc90fd3..cb504a1a2 100644 --- a/spring-cloud-alibaba-test/sentinel-test-support/pom.xml +++ b/spring-cloud-alibaba-test/sentinel-test-support/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-test - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alicloud-oss/pom.xml b/spring-cloud-alicloud-oss/pom.xml index 8a7052071..72b5f8fcc 100644 --- a/spring-cloud-alicloud-oss/pom.xml +++ b/spring-cloud-alicloud-oss/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-starter-alibaba/pom.xml b/spring-cloud-starter-alibaba/pom.xml index 47d1ca11a..f8b076d3f 100644 --- a/spring-cloud-starter-alibaba/pom.xml +++ b/spring-cloud-starter-alibaba/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml index 2bee39f46..07504e7df 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-starter-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT spring-cloud-starter-alibaba-nacos-config Spring Cloud Starter Alibaba Nacos Config diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml index bf40d79ef..53d9bdf9a 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-starter-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT spring-cloud-starter-alibaba-nacos-discovery Spring Cloud Starter Alibaba Nacos Discovery diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml index 54f2bbf44..37d409592 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-starter-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT spring-cloud-starter-alibaba-sentinel Spring Cloud Starter Alibaba Sentinel diff --git a/spring-cloud-starter-alicloud/pom.xml b/spring-cloud-starter-alicloud/pom.xml index 383727179..c7c63285a 100644 --- a/spring-cloud-starter-alicloud/pom.xml +++ b/spring-cloud-starter-alicloud/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.1.0 + 0.1.0.BUILD-SNAPSHOT spring-cloud-starter-alicloud diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml index dcbce3855..830d1af86 100644 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml +++ b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-starter-alicloud - 0.1.0 + 0.1.0.BUILD-SNAPSHOT spring-cloud-starter-alicloud-oss Spring Cloud Starter Alibaba Cloud OSS From fe716483adf7196af672d83de9b8f20fae3fc127 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 23 Oct 2018 16:16:44 -0400 Subject: [PATCH 5/6] Adds circleci support --- .circleci/config.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..f1ba4f613 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,40 @@ +version: 2 +jobs: + build: + docker: + - image: springcloud/pipeline-base + user: appuser + environment: + _JAVA_OPTIONS: "-Xms1024m -Xmx2048m" + TERM: dumb + branches: + ignore: + - gh-pages # list of branches to ignore + resource_class: large + steps: + - checkout + - restore_cache: + key: sc-alibaba-{{ .Branch }} + - run: + name: "Download dependencies" + command: ./mvnw -s .settings.xml -U --fail-never dependency:go-offline || true + - save_cache: + key: sc-alibaba-{{ .Branch }} + paths: + - ~/.m2 + - run: + name: "Running build" + command: ./mvnw -s .settings.xml clean install -U -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - run: + name: "Aggregate test results" + when: always + command: | + mkdir -p ~/junit/ + find . -type f -regex ".*/target/.*-reports/.*" -exec cp {} ~/junit/ \; + bash <(curl -s https://codecov.io/bash) + - store_artifacts: + path: ~/junit/ + destination: artifacts + - store_test_results: + path: ~/junit/ + destination: testartifacts \ No newline at end of file From ca3f02c2817bc7f42cdb669963493a4200244d7e Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 23 Oct 2018 16:21:15 -0400 Subject: [PATCH 6/6] Adds spring profile to circleci --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f1ba4f613..44439fd8d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,14 +17,14 @@ jobs: key: sc-alibaba-{{ .Branch }} - run: name: "Download dependencies" - command: ./mvnw -s .settings.xml -U --fail-never dependency:go-offline || true + command: ./mvnw -Pspring -U --fail-never dependency:go-offline || true - save_cache: key: sc-alibaba-{{ .Branch }} paths: - ~/.m2 - run: name: "Running build" - command: ./mvnw -s .settings.xml clean install -U -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + command: ./mvnw -Pspring clean install -U -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - run: name: "Aggregate test results" when: always