From 5c7cf64922285539553e0de1503cb3146b2e0756 Mon Sep 17 00:00:00 2001 From: zhangyz-hd Date: Thu, 28 Jan 2021 23:55:11 +0800 Subject: [PATCH] fix ExecutorRepositoryTest test failures --- .../manager/ExecutorRepositoryTest.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/threadpool/manager/ExecutorRepositoryTest.java b/dubbo-common/src/test/java/org/apache/dubbo/common/threadpool/manager/ExecutorRepositoryTest.java index bb3fe4ea97b..30786deea7a 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/threadpool/manager/ExecutorRepositoryTest.java +++ b/dubbo-common/src/test/java/org/apache/dubbo/common/threadpool/manager/ExecutorRepositoryTest.java @@ -30,15 +30,32 @@ public class ExecutorRepositoryTest { @Test public void testGetExecutor() { - testGet(URL.valueOf("dubbo://127.0.0.1:23456")); - testGet(URL.valueOf("dubbo://127.0.0.1:23456?side=consumer")); + testGet(URL.valueOf("dubbo://127.0.0.1:23456"), true); + testGet(URL.valueOf("dubbo://127.0.0.1:23456?side=consumer"), false); Assertions.assertNotNull(executorRepository.getSharedExecutor()); Assertions.assertNotNull(executorRepository.getServiceExporterExecutor()); executorRepository.nextScheduledExecutor(); } - private void testGet(URL url) { + private void testGet(URL url, Boolean isFirst) { + if (isFirst) { + Assertions.assertNull(executorRepository.getExecutor(url)); + } else { + Assertions.assertEquals(executorRepository.getExecutor(url), executorRepository.getSharedExecutor()); + } + + ExecutorService executorService = executorRepository.createExecutorIfAbsent(url); + executorService.shutdown(); + executorService = executorRepository.createExecutorIfAbsent(url); + Assertions.assertFalse(executorService.isShutdown()); + + Assertions.assertEquals(executorService, executorRepository.getExecutor(url)); + executorService.shutdown(); + Assertions.assertNotEquals(executorService, executorRepository.getExecutor(url)); + } + + private void testGetNotShared(URL url) { Assertions.assertNull(executorRepository.getExecutor(url)); ExecutorService executorService = executorRepository.createExecutorIfAbsent(url);