diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 9c7e4126f..0610dbe0c 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -18,7 +18,7 @@ 0.1.1 3.1.0 - 0.2.0 + 0.2.1-RC1 diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/Application.java b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/Application.java index b11681077..1818a2e02 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/Application.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/Application.java @@ -16,39 +16,39 @@ import org.springframework.web.bind.annotation.RestController; @SpringBootApplication public class Application { - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } } @Component class SampleRunner implements ApplicationRunner { - @Value("${user.name}") - String userName; + @Value("${user.name}") + String userName; - @Value("${user.age}") - int userAge; + @Value("${user.age}") + int userAge; - @Override - public void run(ApplicationArguments args) throws Exception { - System.out.println(userName); - System.out.println(userAge); - } + @Override + public void run(ApplicationArguments args) throws Exception { + System.out.println(userName); + System.out.println(userAge); + } } @RestController @RefreshScope class SampleController { - @Value("${user.name}") - String userName; + @Value("${user.name}") + String userName; - @Value("${user.age}") - int age; + @Value("${user.age}") + int age; - @RequestMapping("/user") - public String simple() { - return "Hello Nacos Config!" + "Hello " + userName + " " + age + "!"; - } + @RequestMapping("/user") + public String simple() { + return "Hello Nacos Config!" + "Hello " + userName + " " + age + "!"; + } } \ No newline at end of file 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 aca756fe4..8d94d562d 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 +1 @@ -spring.cloud.nacos.config.server-addr=127.0.0.1:8080 \ No newline at end of file +spring.cloud.nacos.config.server-addr=127.0.0.1:8848 \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ConsumerApplication.java b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ConsumerApplication.java index bc9c687e9..86be39c42 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ConsumerApplication.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ConsumerApplication.java @@ -20,22 +20,19 @@ import org.springframework.web.client.RestTemplate; @EnableFeignClients public class ConsumerApplication { - @LoadBalanced - @Bean - public RestTemplate restTemplate() { - return new RestTemplate(); - } - - - - - public static void main(String[] args) { - SpringApplication.run(ConsumerApplication.class, args); - } - - @FeignClient(name = "service-provider") - public interface EchoService { - @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET) - String echo(@PathVariable("str") String str); - } + @LoadBalanced + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } + + public static void main(String[] args) { + SpringApplication.run(ConsumerApplication.class, args); + } + + @FeignClient(name = "service-provider") + public interface EchoService { + @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET) + String echo(@PathVariable("str") String str); + } } diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java index b896691bb..5186f2d89 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java @@ -15,31 +15,32 @@ import org.springframework.web.client.RestTemplate; @RestController public class TestController { - @Autowired - private RestTemplate restTemplate; - @Autowired - private EchoService echoService; - - - @Autowired - private DiscoveryClient discoveryClient; - - @RequestMapping(value = "/echo-rest/{str}", method = RequestMethod.GET) - public String rest(@PathVariable String str) { - return restTemplate.getForObject("http://service-provider/echo/" + str, String.class); - } - @RequestMapping(value = "/echo-feign/{str}", method = RequestMethod.GET) - public String feign(@PathVariable String str) { - return echoService.echo(str); - } - - - @RequestMapping(value="/services/{service}",method = RequestMethod.GET) - public Object client(@PathVariable String service){ - return discoveryClient.getInstances(service); - } - @RequestMapping(value="/services",method = RequestMethod.GET) - public Object services(){ - return discoveryClient.getServices(); - } + @Autowired + private RestTemplate restTemplate; + @Autowired + private EchoService echoService; + + @Autowired + private DiscoveryClient discoveryClient; + + @RequestMapping(value = "/echo-rest/{str}", method = RequestMethod.GET) + public String rest(@PathVariable String str) { + return restTemplate.getForObject("http://service-provider/echo/" + str, + String.class); + } + + @RequestMapping(value = "/echo-feign/{str}", method = RequestMethod.GET) + public String feign(@PathVariable String str) { + return echoService.echo(str); + } + + @RequestMapping(value = "/services/{service}", method = RequestMethod.GET) + public Object client(@PathVariable String service) { + return discoveryClient.getInstances(service); + } + + @RequestMapping(value = "/services", method = RequestMethod.GET) + public Object services() { + return discoveryClient.getServices(); + } } 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 bbd505914..1df160fcc 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 @@ -1,4 +1,4 @@ spring.application.name=service-consumer server.port=18083 management.endpoints.web.exposure.include=* -spring.cloud.nacos.discovery.server-addr=127.0.0.1:8080 \ No newline at end of file +spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 \ No newline at end of file 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 044964020..66100d79f 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,4 +1,4 @@ server.port=18082 spring.application.name=service-provider -spring.cloud.nacos.discovery.server-addr=127.0.0.1:8080 +spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 management.endpoints.web.exposure.include=* \ No newline at end of file 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 f3fb2da95..43b6a5c7e 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 @@ -48,7 +48,8 @@ public class NacosDiscoveryProperties { private String serverAddr; /** - * the domain name of a service, through which the server address can be dynamically obtained. + * the domain name of a service, through which the server address can be dynamically + * obtained. */ private String endpoint; @@ -90,8 +91,8 @@ public class NacosDiscoveryProperties { private boolean registerEnabled = true; /** - * The ip address your want to register for your service instance, needn't to set it if - * the auto detect ip works well + * The ip address your want to register for your service instance, needn't to set it + * if the auto detect ip works well. */ private String ip; @@ -290,47 +291,45 @@ public class NacosDiscoveryProperties { @Override public String toString() { - return "NacosDiscoveryProperties{" + - "serverAddr='" + serverAddr + '\'' + - ", endpoint='" + endpoint + '\'' + - ", namespace='" + namespace + '\'' + - ", logName='" + logName + '\'' + - ", service='" + service + '\'' + - ", weight=" + weight + - ", clusterName='" + clusterName + '\'' + - ", metadata=" + metadata + - ", registerEnabled=" + registerEnabled + - ", ip='" + ip + '\'' + - ", networkInterface='" + networkInterface + '\'' + - ", port=" + port + - ", secure=" + secure + - ", accessKey='" + accessKey + '\'' + - ", secretKey='" + secretKey + '\'' + - '}'; - } - - public void overrideFromEnv(Environment env){ - - if(StringUtils.isEmpty(this.getServerAddr())) { - this.setServerAddr(env.resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}")); + return "NacosDiscoveryProperties{" + "serverAddr='" + serverAddr + '\'' + + ", endpoint='" + endpoint + '\'' + ", namespace='" + namespace + '\'' + + ", logName='" + logName + '\'' + ", service='" + service + '\'' + + ", weight=" + weight + ", clusterName='" + clusterName + '\'' + + ", metadata=" + metadata + ", registerEnabled=" + registerEnabled + + ", ip='" + ip + '\'' + ", networkInterface='" + networkInterface + '\'' + + ", port=" + port + ", secure=" + secure + ", accessKey='" + accessKey + + '\'' + ", secretKey='" + secretKey + '\'' + '}'; + } + + public void overrideFromEnv(Environment env) { + + if (StringUtils.isEmpty(this.getServerAddr())) { + this.setServerAddr(env + .resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}")); } - if(StringUtils.isEmpty(this.getNamespace())) { - this.setNamespace(env.resolvePlaceholders("${spring.cloud.nacos.discovery.namespace:}")); + if (StringUtils.isEmpty(this.getNamespace())) { + this.setNamespace(env + .resolvePlaceholders("${spring.cloud.nacos.discovery.namespace:}")); } - if(StringUtils.isEmpty(this.getAccessKey())) { - this.setAccessKey(env.resolvePlaceholders("${spring.cloud.nacos.discovery.access-key:}")); + if (StringUtils.isEmpty(this.getAccessKey())) { + this.setAccessKey(env + .resolvePlaceholders("${spring.cloud.nacos.discovery.access-key:}")); } - if(StringUtils.isEmpty(this.getSecretKey())) { - this.setSecretKey(env.resolvePlaceholders("${spring.cloud.nacos.discovery.secret-key:}")); + if (StringUtils.isEmpty(this.getSecretKey())) { + this.setSecretKey(env + .resolvePlaceholders("${spring.cloud.nacos.discovery.secret-key:}")); } - if(StringUtils.isEmpty(this.getLogName())) { - this.setLogName(env.resolvePlaceholders("${spring.cloud.nacos.discovery.log-name:}")); + if (StringUtils.isEmpty(this.getLogName())) { + this.setLogName( + env.resolvePlaceholders("${spring.cloud.nacos.discovery.log-name:}")); } - if(StringUtils.isEmpty(this.getClusterName())) { - this.setClusterName(env.resolvePlaceholders("${spring.cloud.nacos.discovery.clusterName-name:}")); + if (StringUtils.isEmpty(this.getClusterName())) { + this.setClusterName(env.resolvePlaceholders( + "${spring.cloud.nacos.discovery.clusterName-name:}")); } - if(StringUtils.isEmpty(this.getEndpoint())) { - this.setEndpoint(env.resolvePlaceholders("${spring.cloud.nacos.discovery.endpoint:}")); + if (StringUtils.isEmpty(this.getEndpoint())) { + this.setEndpoint( + env.resolvePlaceholders("${spring.cloud.nacos.discovery.endpoint:}")); } } 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 d2cf66e03..da49d6c29 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 @@ -39,7 +39,8 @@ import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration; @Endpoint(id = "nacos-discovery") public class NacosDiscoveryEndpoint { - private static final Logger LOGGER = LoggerFactory.getLogger(NacosDiscoveryEndpoint.class); + private static final Logger LOGGER = LoggerFactory + .getLogger(NacosDiscoveryEndpoint.class); @Autowired private NacosDiscoveryProperties nacosDiscoveryProperties; @@ -56,14 +57,15 @@ public class NacosDiscoveryEndpoint { result.put("NacosDiscoveryProperties", nacosDiscoveryProperties); NamingService namingService = nacosRegistration.getNacosNamingService(); - List subscribe = Collections.emptyList() ; + List subscribe = Collections.emptyList(); - try{ + try { subscribe = namingService.getSubscribeServices(); - } catch (Exception e){ + } + catch (Exception e) { LOGGER.error("get subscribe services from nacos fail,", e); } - result.put("subscribe",subscribe); + result.put("subscribe", subscribe); return result; } } \ No newline at end of file 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 c5b7993fd..2b6c46352 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 @@ -20,19 +20,21 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.Conditi import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * @author xiaojing */ -@ConditionalOnWebApplication +@Configuration +@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true) @ConditionalOnClass(Endpoint.class) public class NacosDiscoveryEndpointAutoConfiguration { + @Bean @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint - @Bean public NacosDiscoveryEndpoint nacosDiscoveryEndpoint() { return new NacosDiscoveryEndpoint(); } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java index 050edc7c5..9fbaf231d 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java @@ -37,7 +37,7 @@ public class NacosServer extends Server { this.metaInfo = new MetaInfo() { @Override public String getAppName() { - return instance.getService().getName(); + return instance.serviceName(); } @Override 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 0d4fdbb89..3eb43bbcc 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 @@ -36,7 +36,8 @@ public class NacosServerList extends AbstractServerList { private String serviceId; - public NacosServerList(){} + public NacosServerList() { + } public NacosServerList(String serviceId) { this.serviceId = serviceId; @@ -54,11 +55,14 @@ public class NacosServerList extends AbstractServerList { private List getServers() { try { - List instances = registration.getNacosNamingService().selectInstances(serviceId, true); + List instances = registration.getNacosNamingService() + .getAllInstances(serviceId); return instancesToServerList(instances); } catch (Exception e) { - throw new IllegalStateException("Can not get service instances from nacos, serviceId=" + serviceId, e); + throw new IllegalStateException( + "Can not get service instances from nacos, serviceId=" + serviceId, + e); } }