From 1beb1a72fa412150ae44720f2088d8ef4cc204cc Mon Sep 17 00:00:00 2001 From: echooymxq Date: Sun, 23 Feb 2020 16:38:28 +0800 Subject: [PATCH] Use the bounded elastic thread pool when subscribe. --- .../discovery/reactive/NacosReactiveDiscoveryClient.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java index d31704c7..d01731a6 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java @@ -25,6 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import reactor.core.scheduler.Schedulers; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.ReactiveDiscoveryClient; @@ -51,7 +52,8 @@ public class NacosReactiveDiscoveryClient implements ReactiveDiscoveryClient { @Override public Flux getInstances(String serviceId) { - return Mono.justOrEmpty(serviceId).flatMapMany(loadInstancesFromNacos()); + return Mono.justOrEmpty(serviceId).flatMapMany(loadInstancesFromNacos()) + .subscribeOn(Schedulers.boundedElastic()); } private Function> loadInstancesFromNacos() { @@ -76,7 +78,7 @@ public class NacosReactiveDiscoveryClient implements ReactiveDiscoveryClient { log.error("get services from nacos server fail,", e); return Flux.empty(); } - }); + }).subscribeOn(Schedulers.boundedElastic()); } }