diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 84ad8803..e3df8f5c 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -21,7 +21,7 @@ 1.7.1 3.1.0 1.0.0 - 1.1.4 + 1.2.0 0.8.0 1.0.9 1.0.1 diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties index 71b87e61..cea78476 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties @@ -1,6 +1,10 @@ spring.application.name=nacos-config-example spring.cloud.nacos.config.server-addr=127.0.0.1:8848 +#nacos certification information +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + #spring.cloud.nacos.config.refreshable-dataids=common.properties #spring.cloud.nacos.config.shared-data-ids=common.properties,base-common.properties spring.cloud.nacos.config.shared-configs[0]= common333.properties @@ -16,5 +20,6 @@ spring.cloud.nacos.config.extension-configs[1]= extension2.properties spring.cloud.nacos.config.extension-configs[2].data-id= extension3.json + #spring.cloud.nacos.config.refresh-enabled=true diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java index 2af6c165..b57ca0c0 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java @@ -35,7 +35,7 @@ import org.springframework.web.client.RestTemplate; * @author xiaojing */ @SpringBootApplication -@EnableDiscoveryClient(autoRegister = false) +@EnableDiscoveryClient(autoRegister = true) @EnableFeignClients public class ConsumerApplication { diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties index 7f236aa9..cd4cc01d 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties @@ -3,6 +3,9 @@ server.port=18083 management.endpoints.web.exposure.include=* spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + feign.sentinel.enabled=true spring.cloud.sentinel.transport.dashboard=localhost:8080 diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/src/main/resources/application.properties index 47822c34..656e35c5 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-sclb-example/src/main/resources/application.properties @@ -3,6 +3,9 @@ server.port=18083 management.endpoints.web.exposure.include=* spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + spring.cloud.loadbalancer.ribbon.enabled=false feign.sentinel.enabled=true diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties index 16cf54e3..9732f8d5 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties @@ -1,5 +1,9 @@ server.port=18082 spring.application.name=service-provider spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 + +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + management.endpoints.web.exposure.include=* management.endpoint.health.show-details=always diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/src/main/resources/bootstrap.yml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/src/main/resources/bootstrap.yml index f9bbcea9..9abeb329 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/src/main/resources/bootstrap.yml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client-example/src/main/resources/bootstrap.yml @@ -3,6 +3,8 @@ spring: name: client cloud: nacos: + username: nacos + password: nacos discovery: server-addr: localhost:8848 config: diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/src/main/resources/application.yml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/src/main/resources/application.yml index e7fe16a4..cca1b446 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server-example/src/main/resources/application.yml @@ -6,6 +6,8 @@ spring: name: configserver cloud: nacos: + username: nacos + password: nacos discovery: server-addr: localhost:8848 config: diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/src/main/resources/application.properties index cedb93f2..4cdd63be 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-reactivediscovery-consumer-example/src/main/resources/application.properties @@ -3,4 +3,7 @@ server.port=18083 management.endpoints.web.exposure.include=* spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + spring.cloud.loadbalancer.ribbon.enabled=false diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties index 276d85d1..b2e3f9ef 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties @@ -1,6 +1,10 @@ server.port=18085 spring.application.name=service-gateway spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 + +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + management.endpoints.web.exposure.include=* # spring cloud route config diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties index ab340ff8..bda46189 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties @@ -1,4 +1,8 @@ server.port=18086 spring.application.name=service-gateway-provider spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 + +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + management.endpoints.web.exposure.include=* diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java index fff267a9..1eae17f4 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java @@ -47,15 +47,16 @@ 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.CONFIG_LONG_POLL_TIMEOUT; import static com.alibaba.nacos.api.PropertyKeyConst.CONFIG_RETRY_TIME; -import static com.alibaba.nacos.api.PropertyKeyConst.CONTEXT_PATH; import static com.alibaba.nacos.api.PropertyKeyConst.ENABLE_REMOTE_SYNC_CONFIG; import static com.alibaba.nacos.api.PropertyKeyConst.ENCODE; import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT; import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT_PORT; import static com.alibaba.nacos.api.PropertyKeyConst.MAX_RETRY; import static com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE; +import static com.alibaba.nacos.api.PropertyKeyConst.PASSWORD; import static com.alibaba.nacos.api.PropertyKeyConst.SECRET_KEY; import static com.alibaba.nacos.api.PropertyKeyConst.SERVER_ADDR; +import static com.alibaba.nacos.api.PropertyKeyConst.USERNAME; /** * Nacos properties. @@ -107,6 +108,14 @@ public class NacosConfigProperties { } this.setServerAddr(serverAddr); } + if (StringUtils.isEmpty(this.getUsername())) { + this.setUsername( + environment.resolvePlaceholders("${spring.cloud.nacos.username:}")); + } + if (StringUtils.isEmpty(this.getPassword())) { + this.setPassword( + environment.resolvePlaceholders("${spring.cloud.nacos.password:}")); + } } /** @@ -114,6 +123,16 @@ public class NacosConfigProperties { */ private String serverAddr; + /** + * the nacos authentication username. + */ + private String username; + + /** + * the nacos authentication password. + */ + private String password; + /** * encode for nacos config content. */ @@ -226,6 +245,22 @@ public class NacosConfigProperties { this.serverAddr = serverAddr; } + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + public String getPrefix() { return prefix; } @@ -509,11 +544,12 @@ public class NacosConfigProperties { public Properties assembleConfigServiceProperties() { Properties properties = new Properties(); properties.put(SERVER_ADDR, Objects.toString(this.serverAddr, "")); + properties.put(USERNAME, Objects.toString(this.username, "")); + properties.put(PASSWORD, Objects.toString(this.password, "")); properties.put(ENCODE, Objects.toString(this.encode, "")); properties.put(NAMESPACE, Objects.toString(this.namespace, "")); properties.put(ACCESS_KEY, Objects.toString(this.accessKey, "")); properties.put(SECRET_KEY, Objects.toString(this.secretKey, "")); - properties.put(CONTEXT_PATH, Objects.toString(this.contextPath, "")); properties.put(CLUSTER_NAME, Objects.toString(this.clusterName, "")); properties.put(MAX_RETRY, Objects.toString(this.maxRetry, "")); properties.put(CONFIG_LONG_POLL_TIMEOUT, diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 2856a506..987acd5c 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -67,6 +67,28 @@ "type": "java.lang.Boolean", "defaultValue": true, "description": "enable nacos config or not." + }, + { + "name": "spring.cloud.nacos.config.username", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.username}", + "description": "nacos config service's userName to authenticate." + }, + { + "name": "spring.cloud.nacos.config.password", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.password}", + "description": "nacos config service's password to authenticate." + }, + { + "name": "spring.cloud.nacos.username", + "type": "java.lang.String", + "description": "nacos userName to authenticate." + }, + { + "name": "spring.cloud.nacos.password", + "type": "java.lang.String", + "description": "nacos password to authenticate." } ] } \ No newline at end of file diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 3fb9dfec..50882316 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -54,8 +54,10 @@ import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT; import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT_PORT; import static com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE; import static com.alibaba.nacos.api.PropertyKeyConst.NAMING_LOAD_CACHE_AT_START; +import static com.alibaba.nacos.api.PropertyKeyConst.PASSWORD; import static com.alibaba.nacos.api.PropertyKeyConst.SECRET_KEY; import static com.alibaba.nacos.api.PropertyKeyConst.SERVER_ADDR; +import static com.alibaba.nacos.api.PropertyKeyConst.USERNAME; /** * @author dungu.zpf @@ -82,6 +84,16 @@ public class NacosDiscoveryProperties { */ private String serverAddr; + /** + * the nacos authentication username. + */ + private String username; + + /** + * the nacos authentication password. + */ + private String password; + /** * the domain name of a service, through which the server address can be dynamically * obtained. @@ -419,6 +431,22 @@ public class NacosDiscoveryProperties { this.group = group; } + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + @Override public String toString() { return "NacosDiscoveryProperties{" + "serverAddr='" + serverAddr + '\'' @@ -474,6 +502,12 @@ public class NacosDiscoveryProperties { this.setGroup( env.resolvePlaceholders("${spring.cloud.nacos.discovery.group:}")); } + if (StringUtils.isEmpty(this.getUsername())) { + this.setUsername(env.resolvePlaceholders("${spring.cloud.nacos.username:}")); + } + if (StringUtils.isEmpty(this.getPassword())) { + this.setPassword(env.resolvePlaceholders("${spring.cloud.nacos.password:}")); + } } public NamingService namingServiceInstance() { @@ -513,6 +547,8 @@ public class NacosDiscoveryProperties { private Properties getNacosProperties() { Properties properties = new Properties(); properties.put(SERVER_ADDR, serverAddr); + properties.put(USERNAME, Objects.toString(username,"")); + properties.put(PASSWORD, Objects.toString(password,"")); properties.put(NAMESPACE, namespace); properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, logName); diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json index b3dc069b..5cb5e588 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -34,5 +34,27 @@ "type": "java.lang.Boolean", "defaultValue": "true", "description": "enable nacos discovery watch or not ." + }, + { + "name": "spring.cloud.nacos.discovery.username", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.username}", + "description": "nacos discovery service's username to authenticate." + }, + { + "name": "spring.cloud.nacos.discovery.password", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.password}", + "description": "nacos discovery service's password to authenticate." + }, + { + "name": "spring.cloud.nacos.username", + "type": "java.lang.String", + "description": "nacos userName to authenticate." + }, + { + "name": "spring.cloud.nacos.password", + "type": "java.lang.String", + "description": "nacos password to authenticate." } ]} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java index 48e03d94..e364fc53 100644 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java +++ b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java @@ -16,6 +16,7 @@ package com.alibaba.alicloud.context; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.commons.util.InetUtils; @@ -25,15 +26,28 @@ import org.springframework.context.annotation.Configuration; /** * @author xiaolongzuo + * @author theonefx */ @Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties({ AliCloudProperties.class, InetUtilsProperties.class }) public class AliCloudContextAutoConfiguration { - @Bean - @ConditionalOnMissingBean - public InetUtils inetUtils(InetUtilsProperties inetUtilsProperties) { - return new InetUtils(inetUtilsProperties); + @Configuration(proxyBeanMethods = false) + @EnableConfigurationProperties(AliCloudProperties.class) + static class AliCloudPropertiesConfiguration { + + } + + @Configuration(proxyBeanMethods = false) + @EnableConfigurationProperties(InetUtilsProperties.class) + @ConditionalOnClass(InetUtilsProperties.class) + static class InetUtilsConfiguration { + + @Bean + @ConditionalOnMissingBean + public InetUtils inetUtils(InetUtilsProperties inetUtilsProperties) { + return new InetUtils(inetUtilsProperties); + } + } }