From 0d73a30e395bc763cf3b2516ff2912152fd90d6e Mon Sep 17 00:00:00 2001 From: xht555 Date: Tue, 18 Feb 2020 22:28:26 +0800 Subject: [PATCH] shutdown the taskScheduler when the NacosWatch bean is destroyed. --- .../java/com/alibaba/cloud/nacos/discovery/NacosWatch.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java index ba14654d4..8742874ee 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java @@ -106,13 +106,17 @@ public class NacosWatch implements ApplicationEventPublisherAware, SmartLifecycl @Override public void stop() { if (this.running.compareAndSet(true, false) && this.watchFuture != null) { + // shutdown current user-thread, + // then the other daemon-threads will terminate automatic. + ((ThreadPoolTaskScheduler)this.taskScheduler).shutdown(); + this.watchFuture.cancel(true); } } @Override public boolean isRunning() { - return false; + return this.running.get(); } @Override